From 7995a2661e577f6bc9952c636b256b34c40f1c95 Mon Sep 17 00:00:00 2001 From: Andrew Sparkes Date: Tue, 23 Jul 2024 10:08:36 +0100 Subject: [PATCH 01/22] made aggregation request type name and key more generic --- .../014_limber_scrna_core_cdna_prep_request_types.wip.yml | 4 ++-- .../012_scrna_core_library_prep_submission_templates.wip.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/config/default_records/request_types/014_limber_scrna_core_cdna_prep_request_types.wip.yml b/config/default_records/request_types/014_limber_scrna_core_cdna_prep_request_types.wip.yml index 140381526e..0615dbefeb 100644 --- a/config/default_records/request_types/014_limber_scrna_core_cdna_prep_request_types.wip.yml +++ b/config/default_records/request_types/014_limber_scrna_core_cdna_prep_request_types.wip.yml @@ -29,8 +29,8 @@ limber_scrna_core_cdna_prep_input: - LRC PBMC Pools Input library_types: - Chromium single cell GEM-X 5p v3 GE -limber_scrna_core_chromium_gem_x_5p_aggregation: - name: scRNA Core Chromium GEM-X 5p Aggregation +limber_scrna_core_aggregation: + name: scRNA Core Aggregation asset_type: Well order: 1 request_class_name: CustomerRequest diff --git a/config/default_records/submission_templates/012_scrna_core_library_prep_submission_templates.wip.yml b/config/default_records/submission_templates/012_scrna_core_library_prep_submission_templates.wip.yml index a310308ca0..e4fc108981 100644 --- a/config/default_records/submission_templates/012_scrna_core_library_prep_submission_templates.wip.yml +++ b/config/default_records/submission_templates/012_scrna_core_library_prep_submission_templates.wip.yml @@ -1,9 +1,9 @@ # Submission templates for the aggregation and library prep parts of the scRNA Core pipeline. --- -Limber-Htp - scRNA Core Chromium GEM-X 5p Aggregation: +Limber-Htp - scRNA Core Aggregation: submission_class_name: "LinearSubmission" related_records: - request_type_keys: ["limber_scrna_core_chromium_gem_x_5p_aggregation"] + request_type_keys: ["limber_scrna_core_aggregation"] product_line_name: Short Read product_catalogue_name: scRNA Core Limber-Htp - scRNA Core Library Prep: From 85fb94ffc656a4eb06d2d7a992030bcf1ef5781c Mon Sep 17 00:00:00 2001 From: wy1 Date: Wed, 24 Jul 2024 14:10:03 +0100 Subject: [PATCH 02/22] change the comments count to include asset comment --- app/models/request.rb | 4 ++++ app/views/shared/_batch.html.erb | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/models/request.rb b/app/models/request.rb index 527819e33d..be213c97e3 100644 --- a/app/models/request.rb +++ b/app/models/request.rb @@ -563,6 +563,10 @@ def product_line def manifest_processed! end + def all_comments + comments.count + asset.comments.count + end + private def calculate_next_request_type_id diff --git a/app/views/shared/_batch.html.erb b/app/views/shared/_batch.html.erb index 4148773978..1c1ab652b4 100644 --- a/app/views/shared/_batch.html.erb +++ b/app/views/shared/_batch.html.erb @@ -55,8 +55,8 @@ <% end %> <%= request.state.humanize %> - - <%= link_to (pluralize request.comments.size, 'comment'), request_comments_url(request) %> + + <%= link_to (pluralize request.all_comments, 'comment'), request_comments_url(request) %> <% end -%> From 2a0f5b36942bbf8fe0079b19c33ccf72a2d405fd Mon Sep 17 00:00:00 2001 From: wy1 Date: Fri, 26 Jul 2024 10:02:17 +0100 Subject: [PATCH 03/22] include the labware comments --- app/models/request.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/request.rb b/app/models/request.rb index be213c97e3..6343d8f2a2 100644 --- a/app/models/request.rb +++ b/app/models/request.rb @@ -564,7 +564,7 @@ def manifest_processed! end def all_comments - comments.count + asset.comments.count + comments.size + asset.comments.size + asset.labware.comments.size end private From 174c98b7a32ddbe8dba667fc27462e903103dd6d Mon Sep 17 00:00:00 2001 From: wy1 Date: Fri, 26 Jul 2024 10:12:54 +0100 Subject: [PATCH 04/22] fix the linting issue --- app/models/request.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/request.rb b/app/models/request.rb index 6343d8f2a2..2297ad1fd8 100644 --- a/app/models/request.rb +++ b/app/models/request.rb @@ -564,8 +564,8 @@ def manifest_processed! end def all_comments - comments.size + asset.comments.size + asset.labware.comments.size - end + comments.size + asset.comments.size + asset.labware.comments.size + end private From e3b1dddc1e0fd738903036210b08f31673d7c516 Mon Sep 17 00:00:00 2001 From: wy1 Date: Mon, 29 Jul 2024 09:24:02 +0100 Subject: [PATCH 05/22] change the way to get request all comments --- app/models/request.rb | 5 +++-- app/views/shared/_batch.html.erb | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/models/request.rb b/app/models/request.rb index 2297ad1fd8..01ce817442 100644 --- a/app/models/request.rb +++ b/app/models/request.rb @@ -563,8 +563,9 @@ def product_line def manifest_processed! end - def all_comments - comments.size + asset.comments.size + asset.labware.comments.size + def self.get_all_comments(request) + counts = Comment.counts_for_requests([request]) + return counts[request.id] end private diff --git a/app/views/shared/_batch.html.erb b/app/views/shared/_batch.html.erb index 1c1ab652b4..250c2f16a2 100644 --- a/app/views/shared/_batch.html.erb +++ b/app/views/shared/_batch.html.erb @@ -56,7 +56,7 @@ <%= request.state.humanize %> - <%= link_to (pluralize request.all_comments, 'comment'), request_comments_url(request) %> + <%= link_to (pluralize Request.get_all_comments(request), 'comment'), request_comments_url(request) %> <% end -%> From db3e399d8a5b54dadcac02192909410efcaee138 Mon Sep 17 00:00:00 2001 From: wy1 Date: Mon, 29 Jul 2024 10:53:02 +0100 Subject: [PATCH 06/22] fix the format --- app/models/request.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/request.rb b/app/models/request.rb index 01ce817442..b5e3cff493 100644 --- a/app/models/request.rb +++ b/app/models/request.rb @@ -565,7 +565,7 @@ def manifest_processed! def self.get_all_comments(request) counts = Comment.counts_for_requests([request]) - return counts[request.id] + counts[request.id] end private From 7466771b079276c171a6739dd95d10de4bb9310c Mon Sep 17 00:00:00 2001 From: sabrine33 Date: Tue, 30 Jul 2024 12:45:03 +0100 Subject: [PATCH 07/22] add an extra "Contaminated Human Data Access Group" field on the Study Page --- app/api/io/study.rb | 1 + app/models/api/study_io.rb | 1 + app/models/study.rb | 1 + .../shared/metadata/edit/_study.html.erb | 1 + .../shared/metadata/show/_study.html.erb | 1 + config/locales/metadata/en.yml | 3 + ...man_data_access_group_to_study_metadata.rb | 6 + db/schema.rb | 347 +++++++++--------- ...eeds_to_be_reverted_to_old_version.feature | 1 + spec/factories/study_metadata_factories.rb | 8 + spec/models/api/study_io_spec.rb | 1 + spec/models/study_spec.rb | 17 + 12 files changed, 215 insertions(+), 173 deletions(-) create mode 100644 db/migrate/20240730085322_add_contaminated_human_data_access_group_to_study_metadata.rb diff --git a/app/api/io/study.rb b/app/api/io/study.rb index b20376b88b..ff3165c4f4 100644 --- a/app/api/io/study.rb +++ b/app/api/io/study.rb @@ -26,6 +26,7 @@ class Io::Study < Core::Io::Base study_metadata.commercially_available => commercially_available study_metadata.data_release_study_type.name => data_release_sort_of_study study_metadata.data_release_strategy => data_release_strategy +study_metadata.contaminated_human_data_access_group => contaminated_human_data_access_group ' ) end diff --git a/app/models/api/study_io.rb b/app/models/api/study_io.rb index 1d21f3857e..84eda27ee3 100644 --- a/app/models/api/study_io.rb +++ b/app/models/api/study_io.rb @@ -99,5 +99,6 @@ def render_class map_attribute_to_json_attribute(:hmdmc_approval_number, 'hmdmc_number') map_attribute_to_json_attribute(:s3_email_list) map_attribute_to_json_attribute(:data_deletion_period) + map_attribute_to_json_attribute(:contaminated_human_data_access_group) end end diff --git a/app/models/study.rb b/app/models/study.rb index 833c4ca71b..abfb87248f 100644 --- a/app/models/study.rb +++ b/app/models/study.rb @@ -256,6 +256,7 @@ class Study < ApplicationRecord # rubocop:todo Metrics/ClassLength # External Customers custom_attribute(:s3_email_list) custom_attribute(:data_deletion_period) + custom_attribute(:contaminated_human_data_access_group) REMAPPED_ATTRIBUTES = { diff --git a/app/views/shared/metadata/edit/_study.html.erb b/app/views/shared/metadata/edit/_study.html.erb index b5edae596b..4f16c90e52 100644 --- a/app/views/shared/metadata/edit/_study.html.erb +++ b/app/views/shared/metadata/edit/_study.html.erb @@ -89,6 +89,7 @@ <%= metadata_fields.text_field(:s3_email_list) %> <%= metadata_fields.select(:data_deletion_period, ['','3 months']) %> + <%= metadata_fields.text_field(:contaminated_human_data_access_group) %> <% metadata_fields.finalize_related_fields %> <% end %> diff --git a/app/views/shared/metadata/show/_study.html.erb b/app/views/shared/metadata/show/_study.html.erb index f3f61a1615..d6ebe29a7c 100644 --- a/app/views/shared/metadata/show/_study.html.erb +++ b/app/views/shared/metadata/show/_study.html.erb @@ -60,6 +60,7 @@ <% end %> <%= metadata_fields.plain_value(:dac_policy_title) %> <%= metadata_fields.plain_value(:dac_policy) %> + <%= metadata_fields.plain_value(:contaminated_human_data_access_group) %> <% end %> <% end %> <% end %> diff --git a/config/locales/metadata/en.yml b/config/locales/metadata/en.yml index e5d070778b..d9ca5560aa 100644 --- a/config/locales/metadata/en.yml +++ b/config/locales/metadata/en.yml @@ -508,6 +508,9 @@ en: data_deletion_period: label: Data deletion period + contaminated_human_data_access_group: + label: Contaminated Human Data Access Group + help: "Allows specified Unix groups and users access to data segregated from the main data product, which is potentially contaminated with human data. This access is typically rarely used and is primarily for validating the separation process, as we may not have the ethical or legal clearance." project: metadata: project_manager_id: diff --git a/db/migrate/20240730085322_add_contaminated_human_data_access_group_to_study_metadata.rb b/db/migrate/20240730085322_add_contaminated_human_data_access_group_to_study_metadata.rb new file mode 100644 index 0000000000..9a0dedd025 --- /dev/null +++ b/db/migrate/20240730085322_add_contaminated_human_data_access_group_to_study_metadata.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true +class AddContaminatedHumanDataAccessGroupToStudyMetadata < ActiveRecord::Migration[6.1] + def change + add_column :study_metadata, :contaminated_human_data_access_group, :string, default: nil + end +end diff --git a/db/schema.rb b/db/schema.rb index 2c2e18945d..48632176aa 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,9 +10,9 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2024_07_01_102617) do +ActiveRecord::Schema.define(version: 2024_07_30_085322) do - create_table "aliquot_indices", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "aliquot_indices", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "aliquot_id", null: false t.integer "lane_id", null: false t.integer "aliquot_index", null: false @@ -22,7 +22,7 @@ t.index ["lane_id", "aliquot_index"], name: "index_aliquot_indices_on_lane_id_and_aliquot_index", unique: true end - create_table "aliquots", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "aliquots", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "receptacle_id", null: false t.integer "study_id" t.integer "project_id" @@ -50,7 +50,7 @@ t.index ["tag_id"], name: "tag_id_idx" end - create_table "api_applications", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "api_applications", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.string "key", null: false t.string "contact", null: false @@ -59,7 +59,7 @@ t.index ["key"], name: "index_api_applications_on_key" end - create_table "asset_audits", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "asset_audits", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "message" t.string "key" t.string "created_by" @@ -71,17 +71,17 @@ t.index ["asset_id"], name: "index_asset_audits_on_asset_id" end - create_table "asset_barcodes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "asset_barcodes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| end - create_table "asset_creation_parents", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "asset_creation_parents", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "asset_creation_id" t.integer "parent_id" t.datetime "created_at" t.datetime "updated_at" end - create_table "asset_creations", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "asset_creations", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "user_id" t.integer "parent_id" t.integer "child_purpose_id" @@ -91,7 +91,7 @@ t.string "type", null: false end - create_table "asset_group_assets", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "asset_group_assets", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "asset_id" t.integer "asset_group_id" t.datetime "created_at" @@ -100,7 +100,7 @@ t.index ["asset_id"], name: "index_asset_group_assets_on_asset_id" end - create_table "asset_groups", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "asset_groups", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.integer "user_id" t.integer "study_id" @@ -108,7 +108,7 @@ t.datetime "updated_at" end - create_table "asset_links", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "asset_links", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "ancestor_id" t.integer "descendant_id" t.boolean "direct" @@ -119,7 +119,7 @@ t.index ["descendant_id", "direct"], name: "index_asset_links_on_descendant_id_and_direct" end - create_table "asset_shapes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "asset_shapes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.integer "horizontal_ratio", null: false t.integer "vertical_ratio", null: false @@ -128,7 +128,7 @@ t.datetime "updated_at" end - create_table "assets_deprecated", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=latin1", force: :cascade do |t| + create_table "assets_deprecated", id: :integer, charset: "latin1", force: :cascade do |t| t.string "name" t.string "value" t.string "sti_type", limit: 50 @@ -160,7 +160,7 @@ t.index ["updated_at"], name: "index_assets_deprecated_on_updated_at" end - create_table "bait_libraries", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "bait_libraries", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "bait_library_supplier_id" t.string "name", null: false t.string "supplier_identifier" @@ -172,7 +172,7 @@ t.index ["bait_library_supplier_id", "name"], name: "bait_library_names_are_unique_within_a_supplier", unique: true end - create_table "bait_library_layouts", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "bait_library_layouts", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "user_id" t.integer "plate_id", null: false t.string "layout", limit: 1024 @@ -181,14 +181,14 @@ t.index ["plate_id"], name: "bait_libraries_are_laid_out_on_a_plate_once", unique: true end - create_table "bait_library_suppliers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "bait_library_suppliers", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.datetime "created_at" t.datetime "updated_at" t.boolean "visible", default: true, null: false end - create_table "bait_library_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "bait_library_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.datetime "created_at" t.datetime "updated_at" @@ -197,12 +197,12 @@ t.index ["name"], name: "index_bait_library_types_on_name", unique: true end - create_table "barcode_prefixes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "barcode_prefixes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "prefix", limit: 3 t.index ["prefix"], name: "index_barcode_prefixes_on_prefix" end - create_table "barcode_printer_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "barcode_printer_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.integer "printer_type_id" t.string "type" @@ -213,7 +213,7 @@ t.index ["type"], name: "index_barcode_printer_types_on_type" end - create_table "barcode_printers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "barcode_printers", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.boolean "active" t.datetime "created_at" @@ -223,7 +223,7 @@ t.integer "printer_type", default: 1 end - create_table "barcodes", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "barcodes", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "asset_id", null: false t.string "barcode", null: false t.integer "format", null: false @@ -233,7 +233,7 @@ t.index ["barcode"], name: "index_barcodes_on_barcode" end - create_table "batch_requests", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "batch_requests", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "batch_id", null: false t.integer "request_id", null: false t.integer "position" @@ -243,7 +243,7 @@ t.index ["request_id"], name: "request_id", unique: true end - create_table "batches", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "batches", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "item_limit" t.datetime "created_at" t.integer "user_id" @@ -259,7 +259,7 @@ t.index ["updated_at"], name: "index_batches_on_updated_at" end - create_table "bkp_lab_events", id: false, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "bkp_lab_events", id: false, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "id", default: 0, null: false t.text "description", size: :medium t.text "descriptors", size: :medium @@ -275,7 +275,7 @@ t.integer "batch_id" end - create_table "broadcast_events", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "broadcast_events", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "sti_type" t.string "seed_type" t.integer "seed_id" @@ -285,19 +285,19 @@ t.datetime "updated_at" end - create_table "budget_divisions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "budget_divisions", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" end - create_table "bulk_transfers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "bulk_transfers", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.datetime "created_at" t.datetime "updated_at" t.integer "user_id" end - create_table "comments", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "comments", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "title" t.string "commentable_type", limit: 50 t.integer "user_id" @@ -308,14 +308,14 @@ t.index ["commentable_id", "commentable_type"], name: "index_comments_on_commentable_id_and_commentable_type" end - create_table "container_associations_deprecated", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=latin1", force: :cascade do |t| + create_table "container_associations_deprecated", id: :integer, charset: "latin1", force: :cascade do |t| t.integer "container_id", null: false t.integer "content_id", null: false t.index ["container_id"], name: "index_container_associations_deprecated_on_container_id" t.index ["content_id"], name: "container_association_content_is_unique", unique: true end - create_table "controls", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "controls", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.integer "item_id" t.integer "pipeline_id" @@ -323,7 +323,7 @@ t.datetime "updated_at" end - create_table "custom_metadata", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "custom_metadata", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "key" t.string "value" t.integer "custom_metadatum_collection_id" @@ -333,7 +333,7 @@ t.index ["key", "value"], name: "index_custom_metadata_on_key_and_value" end - create_table "custom_metadatum_collections", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "custom_metadatum_collections", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "user_id" t.integer "asset_id" t.datetime "created_at" @@ -341,7 +341,7 @@ t.index ["asset_id"], name: "index_custom_metadatum_collections_on_asset_id" end - create_table "custom_texts", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "custom_texts", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "identifier" t.integer "differential" t.string "content_type" @@ -350,7 +350,7 @@ t.datetime "updated_at" end - create_table "data_release_study_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "data_release_study_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" @@ -359,7 +359,7 @@ t.boolean "is_assay_type", default: false end - create_table "db_files", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "db_files", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.binary "data", size: :long t.integer "owner_id" t.string "owner_type", limit: 25, default: "Document", null: false @@ -367,7 +367,7 @@ t.index ["owner_type", "owner_id"], name: "index_db_files_on_owner_type_and_owner_id" end - create_table "delayed_jobs", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "delayed_jobs", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "priority", default: 0 t.integer "attempts", default: 0 t.text "handler", size: :medium @@ -381,7 +381,7 @@ t.string "queue" end - create_table "descriptors", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "descriptors", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.string "value" t.text "selection", size: :medium @@ -393,7 +393,7 @@ t.index ["task_id"], name: "index_descriptors_on_task_id" end - create_table "documents", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "documents", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "documentable_id" t.integer "size" t.string "content_type" @@ -409,14 +409,14 @@ t.index ["documentable_type", "documentable_id"], name: "index_documents_on_documentable_type_and_documentable_id" end - create_table "equipment", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "equipment", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.string "equipment_type" t.string "prefix", limit: 2, null: false t.string "ean13_barcode", limit: 13 end - create_table "events", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "events", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "eventful_id" t.string "eventful_type", limit: 50 t.string "message" @@ -435,14 +435,14 @@ t.index ["eventful_type"], name: "index_events_on_eventful_type" end - create_table "extended_validators", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "extended_validators", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "behaviour", null: false t.text "options", size: :medium t.datetime "created_at" t.datetime "updated_at" end - create_table "external_properties", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "external_properties", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "propertied_id" t.string "propertied_type", limit: 50 t.string "key", limit: 50 @@ -452,7 +452,7 @@ t.index ["propertied_id", "propertied_type", "key"], name: "ep_pi_pt_key" end - create_table "extraction_attributes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "extraction_attributes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "target_id" t.string "created_by" t.text "attributes_update", size: :long @@ -460,13 +460,13 @@ t.datetime "updated_at", null: false end - create_table "faculty_sponsors", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "faculty_sponsors", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" end - create_table "failures", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "failures", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "failable_id" t.string "failable_type", limit: 50 t.text "reason", size: :medium @@ -477,14 +477,14 @@ t.index ["failable_id"], name: "index_failures_on_failable_id" end - create_table "flipper_features", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| + create_table "flipper_features", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t| t.string "key", null: false t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["key"], name: "index_flipper_features_on_key", unique: true end - create_table "flipper_gates", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| + create_table "flipper_gates", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t| t.string "feature_key", null: false t.string "key", null: false t.string "value" @@ -493,14 +493,14 @@ t.index ["feature_key", "key", "value"], name: "index_flipper_gates_on_feature_key_and_key_and_value", unique: true end - create_table "flowcell_types", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| + create_table "flowcell_types", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t| t.string "name" t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["name"], name: "index_flowcell_types_on_name", unique: true end - create_table "flowcell_types_request_types", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| + create_table "flowcell_types_request_types", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t| t.bigint "flowcell_type_id", null: false t.integer "request_type_id", null: false t.datetime "created_at", precision: 6, null: false @@ -509,7 +509,7 @@ t.index ["request_type_id"], name: "index_flowcell_types_request_types_on_request_type_id" end - create_table "identifiers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "identifiers", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "identifiable_id" t.string "identifiable_type", limit: 50 t.string "resource_name" @@ -522,13 +522,13 @@ t.index ["resource_name"], name: "index_identifiers_on_resource_name" end - create_table "implements", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "implements", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.string "barcode" t.string "equipment_type" end - create_table "isndc_countries", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "isndc_countries", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.integer "sort_priority", default: 0, null: false t.integer "validation_state", default: 0, null: false @@ -539,7 +539,7 @@ t.index ["validation_state"], name: "index_isndc_countries_on_validation_state" end - create_table "items", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "items", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.datetime "created_at" t.datetime "updated_at" t.string "name" @@ -555,7 +555,7 @@ t.index ["version"], name: "index_items_on_version" end - create_table "lab_events", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "lab_events", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "description" t.text "descriptors", size: :medium t.integer "eventful_id" @@ -571,7 +571,7 @@ t.index ["eventful_type"], name: "index_lab_events_on_eventful_type" end - create_table "labware", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| + create_table "labware", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t| t.string "name" t.string "sti_type", limit: 50, default: "Labware", null: false t.integer "size" @@ -589,21 +589,21 @@ t.index ["updated_at"], name: "index_labware_on_updated_at" end - create_table "lane_metadata", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "lane_metadata", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "lane_id" t.string "release_reason" t.datetime "created_at" t.datetime "updated_at" end - create_table "library_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "library_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.datetime "created_at" t.datetime "updated_at" t.index ["name"], name: "index_library_types_on_name", unique: true end - create_table "library_types_request_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "library_types_request_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "request_type_id", null: false t.integer "library_type_id", null: false t.boolean "is_default", default: false @@ -613,7 +613,7 @@ t.index ["request_type_id"], name: "fk_library_types_request_types_to_request_types" end - create_table "location_reports", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "location_reports", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.bigint "user_id", null: false t.string "name", null: false t.integer "report_type", null: false @@ -631,7 +631,7 @@ t.index ["user_id"], name: "index_location_reports_on_user_id" end - create_table "lot_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "lot_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.string "template_class", null: false t.integer "target_purpose_id", null: false @@ -640,7 +640,7 @@ t.index ["target_purpose_id"], name: "fk_lot_types_to_plate_purposes" end - create_table "lots", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "lots", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "lot_number", null: false t.integer "lot_type_id", null: false t.integer "template_id", null: false @@ -653,7 +653,7 @@ t.index ["lot_type_id"], name: "fk_lots_to_lot_types" end - create_table "maps", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "maps", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "description", limit: 4 t.integer "asset_size" t.integer "location_id" @@ -664,7 +664,7 @@ t.index ["description"], name: "index_maps_on_description" end - create_table "messenger_creators", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "messenger_creators", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "template", null: false t.string "root", null: false t.integer "purpose_id", null: false @@ -674,7 +674,7 @@ t.index ["purpose_id"], name: "fk_messenger_creators_to_plate_purposes" end - create_table "messengers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "messengers", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "target_id" t.string "target_type" t.string "root", null: false @@ -684,13 +684,13 @@ t.index ["target_id", "target_type"], name: "index_messengers_on_target_id_and_target_type" end - create_table "order_roles", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "order_roles", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "role" t.datetime "created_at" t.datetime "updated_at" end - create_table "orders", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "orders", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "study_id" t.datetime "created_at" t.datetime "updated_at" @@ -714,7 +714,7 @@ t.index ["submission_id"], name: "index_orders_on_submission_id" end - create_table "pac_bio_library_tube_metadata", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "pac_bio_library_tube_metadata", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "smrt_cells_available" t.string "prep_kit_barcode" t.string "binding_kit_barcode" @@ -726,7 +726,7 @@ t.index ["pac_bio_library_tube_id"], name: "index_pac_bio_library_tube_metadata_on_pac_bio_library_tube_id" end - create_table "permissions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "permissions", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "role_name" t.string "name" t.string "permissable_type", limit: 50 @@ -735,7 +735,7 @@ t.datetime "updated_at" end - create_table "pick_lists", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "pick_lists", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "state", default: 0, null: false t.integer "submission_id", null: false t.datetime "created_at", null: false @@ -743,14 +743,14 @@ t.index ["submission_id"], name: "index_pick_lists_on_submission_id" end - create_table "pipeline_request_information_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "pipeline_request_information_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "pipeline_id" t.integer "request_information_type_id" t.datetime "created_at" t.datetime "updated_at" end - create_table "pipelines", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "pipelines", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.boolean "active", default: true t.datetime "created_at" @@ -767,14 +767,14 @@ t.string "validator_class_name" end - create_table "pipelines_request_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "pipelines_request_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "pipeline_id", null: false t.integer "request_type_id", null: false t.index ["pipeline_id"], name: "fk_pipelines_request_types_to_pipelines" t.index ["request_type_id"], name: "fk_pipelines_request_types_to_request_types" end - create_table "plate_conversions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "plate_conversions", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "target_id", null: false t.integer "purpose_id", null: false t.integer "user_id", null: false @@ -783,21 +783,21 @@ t.integer "parent_id" end - create_table "plate_creator_parent_purposes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "plate_creator_parent_purposes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "plate_creator_id", null: false t.integer "plate_purpose_id", null: false t.datetime "created_at" t.datetime "updated_at" end - create_table "plate_creator_purposes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "plate_creator_purposes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "plate_creator_id", null: false t.integer "plate_purpose_id", null: false t.datetime "created_at" t.datetime "updated_at" end - create_table "plate_creators", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "plate_creators", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.datetime "created_at" t.datetime "updated_at" @@ -805,7 +805,7 @@ t.index ["name"], name: "index_plate_creators_on_name", unique: true end - create_table "plate_metadata", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "plate_metadata", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "plate_id" t.string "infinium_barcode_bkp" t.datetime "created_at" @@ -816,7 +816,7 @@ t.index ["plate_id"], name: "index_plate_metadata_on_plate_id" end - create_table "plate_owners", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "plate_owners", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "user_id", null: false t.integer "plate_id", null: false t.datetime "created_at" @@ -825,12 +825,12 @@ t.string "eventable_type", null: false end - create_table "plate_purpose_relationships", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "plate_purpose_relationships", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "parent_id" t.integer "child_id" end - create_table "plate_purposes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "plate_purposes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.datetime "created_at" t.datetime "updated_at" @@ -851,14 +851,14 @@ t.index ["type"], name: "index_plate_purposes_on_type" end - create_table "plate_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "plate_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.integer "maximum_volume" t.datetime "created_at", null: false t.datetime "updated_at", null: false end - create_table "plate_volumes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "plate_volumes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "barcode" t.string "uploaded_file_name" t.string "state" @@ -867,7 +867,7 @@ t.index ["uploaded_file_name"], name: "index_plate_volumes_on_uploaded_file_name" end - create_table "poly_metadata", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| + create_table "poly_metadata", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t| t.string "key", null: false t.string "value", null: false t.string "metadatable_type", null: false @@ -877,23 +877,23 @@ t.index ["metadatable_type", "metadatable_id"], name: "index_poly_metadata_on_metadatable_type_and_metadatable_id" end - create_table "pooling_methods", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "pooling_methods", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "pooling_behaviour", limit: 50, null: false t.text "pooling_options", size: :medium end - create_table "pre_capture_pool_pooled_requests", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "pre_capture_pool_pooled_requests", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "pre_capture_pool_id", null: false t.integer "request_id", null: false t.index ["request_id"], name: "request_id_should_be_unique", unique: true end - create_table "pre_capture_pools", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "pre_capture_pools", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.datetime "created_at" t.datetime "updated_at" end - create_table "primer_panels", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "primer_panels", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.integer "snp_count", null: false t.datetime "created_at", null: false @@ -901,14 +901,14 @@ t.text "programs", size: :medium end - create_table "product_catalogues", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "product_catalogues", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.string "selection_behaviour", default: "SingleProduct", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false end - create_table "product_criteria", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "product_criteria", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "product_id", null: false t.string "stage", null: false t.string "behaviour", default: "Basic", null: false @@ -920,11 +920,11 @@ t.index ["product_id", "stage", "version"], name: "index_product_criteria_on_product_id_and_stage_and_version", unique: true end - create_table "product_lines", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "product_lines", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false end - create_table "product_product_catalogues", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "product_product_catalogues", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "product_id", null: false t.integer "product_catalogue_id", null: false t.string "selection_criterion" @@ -934,26 +934,26 @@ t.index ["product_id"], name: "fk_product_product_catalogues_to_products" end - create_table "products", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "products", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false t.datetime "deprecated_at" end - create_table "programs", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "programs", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.datetime "created_at", null: false t.datetime "updated_at", null: false end - create_table "project_managers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "project_managers", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" end - create_table "project_metadata", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "project_metadata", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "project_id" t.string "project_cost_code" t.string "funding_comments" @@ -969,7 +969,7 @@ t.index ["project_id"], name: "index_project_metadata_on_project_id" end - create_table "projects", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "projects", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.boolean "enforce_quotas", default: true t.boolean "approved", default: false @@ -981,13 +981,13 @@ t.index ["state"], name: "index_projects_on_state" end - create_table "qc_assays", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "qc_assays", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "lot_number" end - create_table "qc_decision_qcables", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "qc_decision_qcables", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "qc_decision_id", null: false t.integer "qcable_id", null: false t.string "decision", null: false @@ -995,14 +995,14 @@ t.datetime "updated_at" end - create_table "qc_decisions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "qc_decisions", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "lot_id", null: false t.integer "user_id", null: false t.datetime "created_at" t.datetime "updated_at" end - create_table "qc_files", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "qc_files", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "asset_id" t.integer "size" t.string "content_type" @@ -1012,7 +1012,7 @@ t.index ["asset_id"], name: "fk_rails_31d6eeacb9" end - create_table "qc_metric_requests", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "qc_metric_requests", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "qc_metric_id", null: false t.integer "request_id", null: false t.datetime "created_at", null: false @@ -1021,7 +1021,7 @@ t.index ["request_id"], name: "fk_qc_metric_requests_to_requests" end - create_table "qc_metrics", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "qc_metrics", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "qc_report_id", null: false t.integer "asset_id", null: false t.text "metrics", size: :medium @@ -1033,7 +1033,7 @@ t.index ["qc_report_id"], name: "fk_qc_metrics_to_qc_reports" end - create_table "qc_reports", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "qc_reports", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "report_identifier", null: false t.integer "study_id", null: false t.integer "product_criteria_id", null: false @@ -1047,7 +1047,7 @@ t.index ["study_id"], name: "fk_qc_reports_to_studies" end - create_table "qc_results", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "qc_results", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.bigint "asset_id" t.string "key" t.string "value" @@ -1062,7 +1062,7 @@ t.index ["qc_assay_id"], name: "index_qc_results_on_qc_assay_id" end - create_table "qcable_creators", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "qcable_creators", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "lot_id", null: false t.integer "user_id", null: false t.datetime "created_at" @@ -1070,7 +1070,7 @@ t.index ["user_id"], name: "fk_qcable_creators_to_users" end - create_table "qcables", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "qcables", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "lot_id", null: false t.integer "asset_id", null: false t.string "state", null: false @@ -1081,7 +1081,7 @@ t.index ["lot_id"], name: "index_lot_id" end - create_table "racked_tubes", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "racked_tubes", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.bigint "tube_rack_id" t.bigint "tube_id" t.string "coordinate" @@ -1091,7 +1091,7 @@ t.index ["tube_rack_id"], name: "index_racked_tubes_on_tube_rack_id" end - create_table "receptacles", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t| + create_table "receptacles", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", force: :cascade do |t| t.string "sti_type", limit: 50, default: "Receptacle", null: false t.string "qc_state", limit: 20 t.boolean "resource" @@ -1113,13 +1113,13 @@ t.index ["updated_at"], name: "index_receptacles_on_updated_at" end - create_table "reference_genomes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "reference_genomes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" end - create_table "request_events", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "request_events", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "request_id", null: false t.string "event_name", null: false t.string "from_state" @@ -1129,7 +1129,7 @@ t.index ["request_id", "current_to"], name: "index_request_events_on_request_id_and_current_to" end - create_table "request_information_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "request_information_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.string "key", limit: 50 t.string "label" @@ -1140,7 +1140,7 @@ t.boolean "hide_in_inbox" end - create_table "request_informations", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "request_informations", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "request_id" t.integer "request_information_type_id" t.string "value" @@ -1148,7 +1148,7 @@ t.datetime "updated_at" end - create_table "request_metadata", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "request_metadata", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "request_id" t.string "name" t.string "tag" @@ -1177,13 +1177,13 @@ t.index ["request_id"], name: "index_request_metadata_on_request_id" end - create_table "request_type_plate_purposes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "request_type_plate_purposes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "request_type_id", null: false t.integer "plate_purpose_id", null: false t.index ["request_type_id", "plate_purpose_id"], name: "plate_purposes_are_unique_within_request_type", unique: true end - create_table "request_type_validators", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "request_type_validators", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "request_type_id", null: false t.string "request_option", null: false t.text "valid_options", size: :medium, null: false @@ -1193,7 +1193,7 @@ t.index ["key"], name: "index_request_type_validators_on_key", unique: true end - create_table "request_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "request_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "key", limit: 100 t.string "name" t.datetime "created_at" @@ -1218,7 +1218,7 @@ t.index ["billing_product_catalogue_id"], name: "index_request_types_on_billing_product_catalogue_id" end - create_table "request_types_extended_validators", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "request_types_extended_validators", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "request_type_id", null: false t.integer "extended_validator_id", null: false t.datetime "created_at" @@ -1227,7 +1227,7 @@ t.index ["request_type_id"], name: "fk_request_types_extended_validators_to_request_types" end - create_table "requests", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "requests", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "initial_study_id" t.datetime "created_at" t.datetime "updated_at" @@ -1259,7 +1259,7 @@ t.index ["work_order_id"], name: "index_requests_on_work_order_id" end - create_table "robot_properties", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "robot_properties", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.string "value" t.string "key", limit: 50 @@ -1268,7 +1268,7 @@ t.datetime "updated_at" end - create_table "robots", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "robots", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.string "location" t.datetime "created_at" @@ -1276,7 +1276,7 @@ t.string "barcode" end - create_table "roles", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "roles", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.string "authorizable_type", limit: 50 t.integer "authorizable_id" @@ -1287,7 +1287,7 @@ t.index ["name"], name: "index_roles_on_name" end - create_table "roles_users", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "roles_users", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "role_id" t.integer "user_id" t.datetime "created_at", null: false @@ -1296,14 +1296,14 @@ t.index ["user_id"], name: "index_roles_users_on_user_id" end - create_table "sample_compounds_components", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "sample_compounds_components", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "compound_sample_id", null: false t.integer "component_sample_id", null: false t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false end - create_table "sample_manifest_assets", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "sample_manifest_assets", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.bigint "sample_manifest_id" t.bigint "asset_id" t.string "sanger_sample_id" @@ -1314,7 +1314,7 @@ t.index ["sanger_sample_id"], name: "index_sample_manifest_assets_on_sanger_sample_id" end - create_table "sample_manifests", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "sample_manifests", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.datetime "created_at" t.datetime "updated_at" t.integer "study_id" @@ -1335,7 +1335,7 @@ t.index ["supplier_id"], name: "index_sample_manifests_on_supplier_id" end - create_table "sample_metadata", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "sample_metadata", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "sample_id" t.string "organism" t.string "gc_content" @@ -1398,7 +1398,7 @@ t.index ["supplier_name"], name: "index_sample_metadata_on_supplier_name" end - create_table "sample_registrars", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "sample_registrars", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "study_id" t.integer "user_id" t.integer "sample_id" @@ -1406,7 +1406,7 @@ t.integer "asset_group_id" end - create_table "samples", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "samples", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.boolean "new_name_format", default: true t.datetime "created_at" @@ -1427,10 +1427,10 @@ t.index ["updated_at"], name: "index_samples_on_updated_at" end - create_table "sanger_sample_ids", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "sanger_sample_ids", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| end - create_table "searches", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "searches", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.string "type" t.datetime "created_at" @@ -1439,14 +1439,14 @@ t.text "default_parameters", size: :medium end - create_table "specific_tube_creation_purposes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "specific_tube_creation_purposes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "specific_tube_creation_id" t.integer "tube_purpose_id" t.datetime "created_at" t.datetime "updated_at" end - create_table "stamp_qcables", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "stamp_qcables", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "stamp_id", null: false t.integer "qcable_id", null: false t.string "bed", null: false @@ -1457,7 +1457,7 @@ t.index ["stamp_id"], name: "fk_stamp_qcables_to_stamps" end - create_table "stamps", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "stamps", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "lot_id", null: false t.integer "user_id", null: false t.integer "robot_id", null: false @@ -1469,7 +1469,7 @@ t.index ["user_id"], name: "fk_stamps_to_users" end - create_table "state_changes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "state_changes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "user_id" t.integer "target_id" t.string "contents", limit: 4096 @@ -1480,7 +1480,7 @@ t.string "reason" end - create_table "studies", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "studies", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" @@ -1496,7 +1496,7 @@ t.index ["updated_at"], name: "index_studies_on_updated_at" end - create_table "study_metadata", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "study_metadata", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "study_id" t.string "old_sac_sponsor" t.text "study_description", size: :medium @@ -1544,11 +1544,12 @@ t.integer "program_id" t.string "s3_email_list" t.string "data_deletion_period" + t.string "contaminated_human_data_access_group" t.index ["faculty_sponsor_id"], name: "index_study_metadata_on_faculty_sponsor_id" t.index ["study_id"], name: "index_study_metadata_on_study_id" end - create_table "study_reports", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "study_reports", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "study_id" t.datetime "created_at" t.datetime "updated_at" @@ -1559,7 +1560,7 @@ t.index ["user_id"], name: "index_study_reports_on_user_id" end - create_table "study_samples", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "study_samples", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "study_id", null: false t.integer "sample_id", null: false t.datetime "created_at" @@ -1569,7 +1570,7 @@ t.index ["study_id"], name: "index_project_samples_on_project_id" end - create_table "study_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "study_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.boolean "valid_type" t.datetime "created_at" @@ -1577,7 +1578,7 @@ t.boolean "valid_for_creation", default: true, null: false end - create_table "subclass_attributes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "subclass_attributes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.string "value" t.integer "attributable_id" @@ -1587,7 +1588,7 @@ t.index ["attributable_id", "name"], name: "index_subclass_attributes_on_attributable_id_and_name" end - create_table "submission_templates", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "submission_templates", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.string "submission_class_name" t.text "submission_parameters", size: :medium @@ -1601,7 +1602,7 @@ t.index ["product_catalogue_id"], name: "fk_submission_templates_to_product_catalogues" end - create_table "submissions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "submissions", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.datetime "created_at" t.datetime "updated_at" t.string "state", limit: 20 @@ -1615,7 +1616,7 @@ t.index ["state"], name: "index_submissions_on_state" end - create_table "submitted_assets", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "submitted_assets", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "order_id" t.integer "asset_id" t.datetime "created_at" @@ -1623,7 +1624,7 @@ t.index ["asset_id"], name: "index_submitted_assets_on_asset_id" end - create_table "suppliers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "suppliers", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" @@ -1637,7 +1638,7 @@ t.index ["name"], name: "index_suppliers_on_name" end - create_table "tag2_layout_template_submissions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tag2_layout_template_submissions", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "submission_id", null: false t.integer "tag2_layout_template_id", null: false t.datetime "created_at" @@ -1646,14 +1647,14 @@ t.index ["tag2_layout_template_id"], name: "fk_tag2_layout_template_submissions_to_tag2_layout_templates" end - create_table "tag2_layout_templates", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tag2_layout_templates", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.integer "tag_id", null: false t.datetime "created_at" t.datetime "updated_at" end - create_table "tag2_layouts", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tag2_layouts", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "tag_id" t.integer "plate_id" t.integer "user_id" @@ -1663,13 +1664,13 @@ t.text "target_well_locations", size: :medium end - create_table "tag_group_adapter_types", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tag_group_adapter_types", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.datetime "created_at", null: false t.datetime "updated_at", null: false end - create_table "tag_groups", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tag_groups", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" @@ -1679,7 +1680,7 @@ t.index ["name"], name: "tag_groups_unique_name", unique: true end - create_table "tag_layout_template_submissions", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tag_layout_template_submissions", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "submission_id", null: false t.integer "tag_layout_template_id", null: false t.boolean "enforce_uniqueness" @@ -1690,7 +1691,7 @@ t.index ["tag_layout_template_id"], name: "index_tag_layout_template_submissions_on_tag_layout_template_id" end - create_table "tag_layout_templates", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tag_layout_templates", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "direction_algorithm" t.integer "tag_group_id" t.string "name" @@ -1702,7 +1703,7 @@ t.index ["tag2_group_id"], name: "fk_rails_1c2c01e708" end - create_table "tag_layouts", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tag_layouts", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "direction_algorithm" t.integer "tag_group_id" t.integer "plate_id" @@ -1716,7 +1717,7 @@ t.index ["tag2_group_id"], name: "fk_rails_d221e7c041" end - create_table "tags", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tags", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "oligo" t.integer "map_id" t.integer "tag_group_id" @@ -1726,7 +1727,7 @@ t.index ["tag_group_id"], name: "index_tags_on_tag_group_id" end - create_table "tasks", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tasks", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.integer "pipeline_workflow_id" t.integer "sorted" @@ -1743,7 +1744,7 @@ t.index ["sti_type"], name: "index_tasks_on_sti_type" end - create_table "transfer_request_collection_transfer_requests", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "transfer_request_collection_transfer_requests", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "transfer_request_collection_id" t.integer "transfer_request_id" t.datetime "created_at", null: false @@ -1752,14 +1753,14 @@ t.index ["transfer_request_id"], name: "fk_rails_67a3295574" end - create_table "transfer_request_collections", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "transfer_request_collections", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "user_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.index ["user_id"], name: "fk_rails_e542f48171" end - create_table "transfer_requests", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "transfer_requests", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.datetime "created_at" t.datetime "updated_at" t.string "state", limit: 20, default: "pending" @@ -1773,7 +1774,7 @@ t.index ["target_asset_id"], name: "index_requests_on_target_asset_id" end - create_table "transfer_templates", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "transfer_templates", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.datetime "created_at" t.datetime "updated_at" t.string "name" @@ -1781,7 +1782,7 @@ t.string "transfers", limit: 10240 end - create_table "transfers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "transfers", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.datetime "created_at" t.datetime "updated_at" t.string "sti_type" @@ -1793,14 +1794,14 @@ t.index ["source_id"], name: "source_id_idx" end - create_table "tube_creation_children", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tube_creation_children", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.datetime "created_at" t.datetime "updated_at" t.integer "tube_creation_id", null: false t.integer "tube_id", null: false end - create_table "tube_rack_statuses", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "tube_rack_statuses", charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "barcode", null: false t.integer "status", null: false t.text "messages", size: :medium @@ -1809,7 +1810,7 @@ t.datetime "updated_at", null: false end - create_table "users", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "users", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "login" t.string "email" t.string "crypted_password", limit: 40 @@ -1832,7 +1833,7 @@ t.index ["pipeline_administrator"], name: "index_users_on_pipeline_administrator" end - create_table "uuids", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=latin1", force: :cascade do |t| + create_table "uuids", id: :integer, charset: "latin1", force: :cascade do |t| t.string "resource_type", limit: 128, null: false t.integer "resource_id", null: false t.string "external_id", limit: 36, null: false @@ -1840,7 +1841,7 @@ t.index ["resource_type", "resource_id"], name: "index_uuids_on_resource_type_and_resource_id" end - create_table "volume_updates", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "volume_updates", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "target_id" t.string "created_by" t.float "volume_change" @@ -1848,7 +1849,7 @@ t.datetime "updated_at", null: false end - create_table "well_attributes", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "well_attributes", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "well_id" t.string "gel_pass", limit: 20 t.float "concentration" @@ -1871,20 +1872,20 @@ t.index ["well_id"], name: "index_well_attributes_on_well_id" end - create_table "well_links", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "well_links", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "target_well_id", null: false t.integer "source_well_id", null: false t.string "type", null: false t.index ["target_well_id"], name: "target_well_idx" end - create_table "well_to_tube_transfers", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "well_to_tube_transfers", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "transfer_id", null: false t.integer "destination_id", null: false t.string "source" end - create_table "work_completions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "work_completions", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "user_id", null: false t.integer "target_id", null: false t.datetime "created_at" @@ -1893,21 +1894,21 @@ t.index ["user_id"], name: "fk_rails_204fc81a92" end - create_table "work_completions_submissions", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "work_completions_submissions", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "work_completion_id", null: false t.integer "submission_id", null: false t.index ["submission_id"], name: "fk_rails_1ac4e93988" t.index ["work_completion_id"], name: "fk_rails_5ea64f1af2" end - create_table "work_order_types", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "work_order_types", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false t.index ["name"], name: "index_work_order_types_on_name", unique: true end - create_table "work_orders", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "work_orders", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.integer "work_order_type_id", null: false t.datetime "created_at", null: false t.datetime "updated_at", null: false @@ -1915,7 +1916,7 @@ t.index ["work_order_type_id", "state"], name: "index_work_orders_on_work_order_type_id_and_state" end - create_table "workflow_samples", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "workflow_samples", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.text "name", size: :medium t.integer "user_id" t.datetime "created_at" @@ -1928,7 +1929,7 @@ t.integer "version" end - create_table "workflows", id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC", force: :cascade do |t| + create_table "workflows", id: :integer, charset: "utf8mb4", collation: "utf8mb4_unicode_ci", options: "ENGINE=InnoDB ROW_FORMAT=DYNAMIC", force: :cascade do |t| t.string "name" t.integer "item_limit" t.text "locale", size: :medium diff --git a/features/studies/4295391_study_xml_needs_to_be_reverted_to_old_version.feature b/features/studies/4295391_study_xml_needs_to_be_reverted_to_old_version.feature index 1a1530d630..331c614d46 100644 --- a/features/studies/4295391_study_xml_needs_to_be_reverted_to_old_version.feature +++ b/features/studies/4295391_study_xml_needs_to_be_reverted_to_old_version.feature @@ -198,6 +198,7 @@ Feature: The XML for the sequencescape API Data deletion period 3 months + Contaminated Human Data Access Group Data access groupgroup1 EGA DAC Accession Number EGA Policy Accession Number diff --git a/spec/factories/study_metadata_factories.rb b/spec/factories/study_metadata_factories.rb index 0e90d8269b..9994cb4272 100644 --- a/spec/factories/study_metadata_factories.rb +++ b/spec/factories/study_metadata_factories.rb @@ -22,6 +22,14 @@ s3_email_list { 'aa1@sanger.ac.uk;aa2@sanger.ac.uk' } data_deletion_period { '3 months' } + transient { contaminated_human_data_access_group { nil } } + + after(:build) do |study_metadata, evaluator| + if evaluator.contaminated_human_data_access_group.present? + study_metadata.contaminated_human_data_access_group = evaluator.contaminated_human_data_access_group + end + end + # These require property definitions to be properly setup factory :study_metadata_for_study_list_pending_ethical_approval do contains_human_dna { 'Yes' } diff --git a/spec/models/api/study_io_spec.rb b/spec/models/api/study_io_spec.rb index 2373551d7b..fc033cd73e 100644 --- a/spec/models/api/study_io_spec.rb +++ b/spec/models/api/study_io_spec.rb @@ -51,6 +51,7 @@ 'data_access_group' => 'something', 's3_email_list' => 'aa1@sanger.ac.uk;aa2@sanger.ac.uk', 'data_deletion_period' => '3 months', + 'contaminated_human_data_access_group' => 'contaminated human data access group example', 'manager' => [ { login: manager.login, email: manager.email, name: manager.name }, { login: manager2.login, email: manager2.email, name: manager2.name } diff --git a/spec/models/study_spec.rb b/spec/models/study_spec.rb index dc82bfd859..f264a67659 100644 --- a/spec/models/study_spec.rb +++ b/spec/models/study_spec.rb @@ -593,6 +593,23 @@ expect(study.study_metadata.faculty_sponsor).not_to be_nil end + context 'contaminated human data access group' do + it 'defaults to null when not specified' do + expect(study.study_metadata.contaminated_human_data_access_group).to be_nil + end + + context 'assigning value to contaminated human data access group field' do + let(:extendedMetaData) { create(:study_metadata, contaminated_human_data_access_group: 'example group') } + let(:study) { create(:study, study_metadata: extendedMetaData) } + + it 'has the contaminated human data access group value when specified' do + expect(study.study_metadata.contaminated_human_data_access_group).to eq( + extendedMetaData[:contaminated_human_data_access_group] + ) + end + end + end + it 'must have a program' do expect(study.study_metadata.program).not_to be_nil end From 0eff05a996c4b67df76b5378f56e4fa2aa25da34 Mon Sep 17 00:00:00 2001 From: sabrine33 Date: Tue, 30 Jul 2024 13:11:23 +0100 Subject: [PATCH 08/22] update tests accordingly --- spec/models/api/study_io_spec.rb | 5 +++-- spec/models/study_spec.rb | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/spec/models/api/study_io_spec.rb b/spec/models/api/study_io_spec.rb index fc033cd73e..405a0657b5 100644 --- a/spec/models/api/study_io_spec.rb +++ b/spec/models/api/study_io_spec.rb @@ -13,7 +13,8 @@ reference_genome: reference_genome, array_express_accession_number: 'AE111', ega_policy_accession_number: 'EGA222', - ega_dac_accession_number: 'DAC333' + ega_dac_accession_number: 'DAC333', + contaminated_human_data_access_group: 'contaminated human data access group test' } end @@ -51,7 +52,7 @@ 'data_access_group' => 'something', 's3_email_list' => 'aa1@sanger.ac.uk;aa2@sanger.ac.uk', 'data_deletion_period' => '3 months', - 'contaminated_human_data_access_group' => 'contaminated human data access group example', + 'contaminated_human_data_access_group' => 'contaminated human data access group test', 'manager' => [ { login: manager.login, email: manager.email, name: manager.name }, { login: manager2.login, email: manager2.email, name: manager2.name } diff --git a/spec/models/study_spec.rb b/spec/models/study_spec.rb index f264a67659..410a566681 100644 --- a/spec/models/study_spec.rb +++ b/spec/models/study_spec.rb @@ -599,12 +599,12 @@ end context 'assigning value to contaminated human data access group field' do - let(:extendedMetaData) { create(:study_metadata, contaminated_human_data_access_group: 'example group') } - let(:study) { create(:study, study_metadata: extendedMetaData) } + let(:extended_metadata) { create(:study_metadata, contaminated_human_data_access_group: 'example group') } + let(:study) { create(:study, study_metadata: extended_metadata) } it 'has the contaminated human data access group value when specified' do expect(study.study_metadata.contaminated_human_data_access_group).to eq( - extendedMetaData[:contaminated_human_data_access_group] + extended_metadata[:contaminated_human_data_access_group] ) end end From d09a0eb0fb1d00a1546fd270ba794cc75f1c13d2 Mon Sep 17 00:00:00 2001 From: wy1 Date: Tue, 30 Jul 2024 15:30:30 +0100 Subject: [PATCH 09/22] add test on get_all_comments --- spec/models/request_spec.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/spec/models/request_spec.rb b/spec/models/request_spec.rb index 782bdaf7d5..81886ed366 100644 --- a/spec/models/request_spec.rb +++ b/spec/models/request_spec.rb @@ -494,4 +494,21 @@ expect(subject[request_type2].started).to eq(1) end end + + describe '.get_all_comments' do + let(:labware) { create :labware } + let(:receptacle) { create :receptacle, labware: labware } + let(:request) { create :request, asset: receptacle } + + before do + create :comment, commentable: labware, description: 'comment on labware' + create :comment, commentable: receptacle, description: 'comment on receptacle' + create :comment, commentable: request, description: 'first comment on request' + create :comment, commentable: request, description: 'second comment on request' + end + + it 'returns all of the comments including associated labware, receptacle and request itself' do + expect(described_class.get_all_comments(request)).to eq(4) + end + end end From f4e358c3475b33c7fcc965f420d966a13f1ad809 Mon Sep 17 00:00:00 2001 From: wy1 Date: Tue, 30 Jul 2024 16:16:25 +0100 Subject: [PATCH 10/22] fix the request page comment count --- app/views/requests/show.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/requests/show.html.erb b/app/views/requests/show.html.erb index e13488be63..a16b61cb8d 100644 --- a/app/views/requests/show.html.erb +++ b/app/views/requests/show.html.erb @@ -1,7 +1,7 @@ <% add :about, "This page displays details of requests" %> <% add :menu, "View event history" => history_request_path(@request) -%> -<% add :menu, (pluralize @request.comments.size, "comment") => request_comments_path(@request) -%> +<% add :menu, (pluralize Request.get_all_comments(@request), "comment") => request_comments_path(@request) -%> <% if can?(:cancel, @request) && @request.try(:may_cancel_before_started?) %> <% add :menu, { "Cancel" => cancel_request_url(@request) }, { confirm: "Are you sure you want to cancel this request?" } -%> From 1b3075c47806775c6727c7e50c2a645f536e9555 Mon Sep 17 00:00:00 2001 From: wy1 Date: Wed, 31 Jul 2024 13:20:51 +0100 Subject: [PATCH 11/22] minor change in test to accomplish the convention --- spec/models/request_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/models/request_spec.rb b/spec/models/request_spec.rb index 81886ed366..03c05f2c55 100644 --- a/spec/models/request_spec.rb +++ b/spec/models/request_spec.rb @@ -495,7 +495,7 @@ end end - describe '.get_all_comments' do + describe '#get_all_comments' do let(:labware) { create :labware } let(:receptacle) { create :receptacle, labware: labware } let(:request) { create :request, asset: receptacle } From a32e1746fc9be1fefd7bad19f103aa77da3ca7a7 Mon Sep 17 00:00:00 2001 From: wy1 Date: Thu, 1 Aug 2024 14:21:51 +0100 Subject: [PATCH 12/22] use conventional naming of test class method --- spec/models/request_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/models/request_spec.rb b/spec/models/request_spec.rb index 03c05f2c55..81886ed366 100644 --- a/spec/models/request_spec.rb +++ b/spec/models/request_spec.rb @@ -495,7 +495,7 @@ end end - describe '#get_all_comments' do + describe '.get_all_comments' do let(:labware) { create :labware } let(:receptacle) { create :receptacle, labware: labware } let(:request) { create :request, asset: receptacle } From 593a182748c1f1ddc82929d4d1594dfcd456d8d8 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 1 Aug 2024 14:19:27 +0000 Subject: [PATCH 13/22] Update rexml to version 3.3.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 6fe00f7f6e..b5594025e5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -387,7 +387,7 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) - rexml (3.3.1) + rexml (3.3.2) strscan roo (2.10.1) nokogiri (~> 1) From 82a4ec357a7f18d5fe4afd65b54dd46b6adecf4a Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2024 00:42:16 +0000 Subject: [PATCH 14/22] Update rexml to version 3.3.4 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index b5594025e5..8037cb0dbb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -387,7 +387,7 @@ GEM http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) - rexml (3.3.2) + rexml (3.3.4) strscan roo (2.10.1) nokogiri (~> 1) From a768419c391601af86f3681146d28fc079790959 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2024 09:31:04 +0000 Subject: [PATCH 15/22] Update mocha to version 2.4.5 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8037cb0dbb..b8d6215f5f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -279,7 +279,7 @@ GEM minitest-profiler (0.0.2) activesupport (>= 4.1.0) minitest (>= 5.3.3) - mocha (2.4.0) + mocha (2.4.5) ruby2_keywords (>= 0.0.5) msgpack (1.7.2) multi_json (1.15.0) From 2374edc73702fab5054df4b1423a7278e987a9b4 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2024 10:27:27 +0000 Subject: [PATCH 16/22] Update bullet to version 7.2.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b8d6215f5f..55860b04a2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -121,7 +121,7 @@ GEM bootsnap (1.18.3) msgpack (~> 1.2) builder (3.3.0) - bullet (7.1.6) + bullet (7.2.0) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) bunny (2.22.0) @@ -560,7 +560,7 @@ GEM backports (>= 3.18) rainbow yard - zeitwerk (2.6.16) + zeitwerk (2.6.17) PLATFORMS arm64-darwin From d19b281a3f4c5d0d9d0306078016310ed8dd9b88 Mon Sep 17 00:00:00 2001 From: Shiv <44001656+SHIV5T3R@users.noreply.github.com> Date: Fri, 2 Aug 2024 15:01:09 +0100 Subject: [PATCH 17/22] =?UTF-8?q?Revert=20"[ruby]=20Update=20bullet=207.1.?= =?UTF-8?q?6=20=E2=86=92=207.2.0=20(minor)"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 55860b04a2..b8d6215f5f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -121,7 +121,7 @@ GEM bootsnap (1.18.3) msgpack (~> 1.2) builder (3.3.0) - bullet (7.2.0) + bullet (7.1.6) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) bunny (2.22.0) @@ -560,7 +560,7 @@ GEM backports (>= 3.18) rainbow yard - zeitwerk (2.6.17) + zeitwerk (2.6.16) PLATFORMS arm64-darwin From aaaeacecf5eab96ab63f741464e6df091e30336b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2024 14:43:21 +0000 Subject: [PATCH 18/22] Update bullet to version 7.2.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b8d6215f5f..55860b04a2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -121,7 +121,7 @@ GEM bootsnap (1.18.3) msgpack (~> 1.2) builder (3.3.0) - bullet (7.1.6) + bullet (7.2.0) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) bunny (2.22.0) @@ -560,7 +560,7 @@ GEM backports (>= 3.18) rainbow yard - zeitwerk (2.6.16) + zeitwerk (2.6.17) PLATFORMS arm64-darwin From 3ca80be453e2f9cf4ef86e3f55dfac23c5330597 Mon Sep 17 00:00:00 2001 From: Shiv <44001656+SHIV5T3R@users.noreply.github.com> Date: Fri, 2 Aug 2024 16:00:19 +0100 Subject: [PATCH 19/22] Empty commit for ci From fb3cd07015ee4148d2ea6b194e3ace99750560ce Mon Sep 17 00:00:00 2001 From: Ben Topping Date: Mon, 5 Aug 2024 11:26:46 +0100 Subject: [PATCH 20/22] fix: updates docker compose references to v2 --- .github/workflows/check_docker_build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check_docker_build.yml b/.github/workflows/check_docker_build.yml index fc57fa1306..8c8789d0ea 100644 --- a/.github/workflows/check_docker_build.yml +++ b/.github/workflows/check_docker_build.yml @@ -15,12 +15,12 @@ jobs: - name: Build image run: >- - docker-compose build + docker compose build - name: Start stack and wait for all healthy run: | - RESET_DATABASE=true docker-compose -f docker-compose.yml up & - while docker-compose ps -q | xargs docker inspect --format '{{ .State.Health.Status }}' | grep -v '^healthy$' ; do + RESET_DATABASE=true docker compose -f docker-compose.yml up & + while docker compose ps -q | xargs docker inspect --format '{{ .State.Health.Status }}' | grep -v '^healthy$' ; do sleep 30 echo "Waiting for healthy containers" done @@ -28,4 +28,4 @@ jobs: - name: Stop stack run: >- - docker-compose down + docker compose down From 30a9faa51392d658be7c57a8acd9bf60e9273842 Mon Sep 17 00:00:00 2001 From: Ben Topping Date: Mon, 5 Aug 2024 11:26:46 +0100 Subject: [PATCH 21/22] fix: updates docker compose references to v2 --- .github/workflows/check_docker_build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check_docker_build.yml b/.github/workflows/check_docker_build.yml index fc57fa1306..8c8789d0ea 100644 --- a/.github/workflows/check_docker_build.yml +++ b/.github/workflows/check_docker_build.yml @@ -15,12 +15,12 @@ jobs: - name: Build image run: >- - docker-compose build + docker compose build - name: Start stack and wait for all healthy run: | - RESET_DATABASE=true docker-compose -f docker-compose.yml up & - while docker-compose ps -q | xargs docker inspect --format '{{ .State.Health.Status }}' | grep -v '^healthy$' ; do + RESET_DATABASE=true docker compose -f docker-compose.yml up & + while docker compose ps -q | xargs docker inspect --format '{{ .State.Health.Status }}' | grep -v '^healthy$' ; do sleep 30 echo "Waiting for healthy containers" done @@ -28,4 +28,4 @@ jobs: - name: Stop stack run: >- - docker-compose down + docker compose down From e6077fe7ed374b5de9d49276e1b5cd0fceed5414 Mon Sep 17 00:00:00 2001 From: sabrine33 <139128026+sabrine33@users.noreply.github.com> Date: Wed, 7 Aug 2024 14:28:41 +0100 Subject: [PATCH 22/22] Update .release-version to 14.40.0 --- .release-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.release-version b/.release-version index 9d68c6c43b..b1a8b7b864 100644 --- a/.release-version +++ b/.release-version @@ -1 +1 @@ -14.39.0 +14.40.0