canvas-lms/db/migrate
Ryan Hawkins b2ff0fe722 Create Lti::Registration table and model
why:
- For the LIME project, we decided to rework the current data model for
  storing LTI related data. The current system is quite old and has
  accumulated a lot of tech debt from little patches over the years, so
  we hope to refine and simplify the data model as much as is reasonably
  possible.
- This is the first step/table in that process.

closes INTEROP-8499

flag=none

test-plan:
- Setup sharding and ensure you have the relevant sharding update commit
  checked out (see the ticket description)
- Pull the commit and run your database migrations.
- A new "lti_registrations" table should have been created with the
  appropriate columns as listed in the ticket.
- Rollback the migration that's part of this commit and ensure that it
  completes successfully.
- Ensure that you have a user on a different shard.
- Run the migration again and ensure that you can create an
  Lti::Registration with something like:

```
user = Shard.second.activate { User.first }
Lti::Registration.create!(account: Account.default, name: "registration",
  created_by: user, updated_by: user)
```
  Note that those are all of the required fields

Optional, as these are tested by the specs themselves:
- Ensure that the Lti::Registration requires an account and a
  created_by/updated_by to be created/saved.
- Ensure that the Lti::IMS::Registration can be associated with the
  Lti::Registration model.
- Ensure that the DeveloperKey can be associated with the
  Lti::Registration model.

Change-Id: If7e8198956875a25fc8e545e3692e39e928222fe
Reviewed-on: https://gerrit.instructure.com/c/canvas-lms/+/345088
Tested-by: Service Cloud Jenkins <svc.cloudjenkins@instructure.com>
Reviewed-by: Xander Moffatt <xmoffatt@instructure.com>
QA-Review: Xander Moffatt <xmoffatt@instructure.com>
Migration-Review: Andrea Cirulli <andrea.cirulli@instructure.com>
Product-Review: Ryan Hawkins <ryan.hawkins@instructure.com>
2024-04-19 17:30:13 +00:00
..
20101201000090_validate_migration_integrity.rb fix migration integrity migration 2024-03-18 20:04:34 +00:00
20101210192618_init_canvas_db.rb squash old migrations 202312 2024-03-14 21:58:18 +00:00
20101216224513_create_delayed_jobs.rb rubocop: remove LegacyMigrations shim 2024-03-13 16:41:49 +00:00
20101217224513_set_replica_identities.rb squash old migrations 202311 2024-03-14 21:56:48 +00:00
20111111214312_load_initial_data.rb migrations: avoid creating extraneous data in the test env 2024-03-13 19:37:02 +00:00
20121010191027_add_cassandra_page_view_tables.rb RuboCop: Style/StringLiterals, Style/StringLiteralsInInterpolation 2021-11-25 14:03:06 +00:00
20141109202906_create_initial_partitions.rb migrations: don't precreate historic auditor tables 2024-03-13 18:44:11 +00:00
20230901164455_add_wiki_page_embeddings.rb add assignments to smart search 2024-03-14 21:10:29 +00:00
20230901164555_add_replica_identity_to_wiki_page_embeddings.rb squash old migrations 202309 2024-03-08 20:36:23 +00:00
20240110105826_create_module_student_visibilities.rb Look at assignment's quiz's ContentTags in ASV 2024-02-27 23:25:43 +00:00
20240110232431_add_ending_enrollment_state_to_temporary_enrollment_pairings.rb migrations: null: true and default: nil are the defaults 2024-03-12 21:09:15 +00:00
20240124155444_add_hide_points_to_rubrics.rb add saving data to rubric form 2024-02-01 16:17:27 +00:00
20240125213845_add_error_reports_user_id_index.rb add index on error_reports.user_id 2024-01-30 19:02:08 +00:00
20240126154129_add_content_participation_counts_user_id_index.rb add index on content_participation_counts.user_id 2024-01-30 19:00:24 +00:00
20240127030819_delete_orphaned_account_users.rb clean up orphaned account_users 2024-01-29 19:18:29 +00:00
20240130210940_add_rating_order_to_rubrics.rb ability to save rating_order of rubric ratings 2024-02-20 15:53:08 +00:00
20240130230259_restore_migrated_line_items.rb fixup: restore deleted/migrated line items 2024-02-12 18:04:22 +00:00
20240130230351_add_button_display_to_rubrics.rb ability to save a button display for ratings 2024-02-16 19:02:58 +00:00
20240201220924_add_stuck_sis_fields_to_enrollment_dates_overrides.rb make term override dates sis sticky 2024-02-02 20:35:04 +00:00
20240205215654_remove_lti_resource_link_unique_lti_11_id_constraint.rb Remove Unique Constraint on LTI 1.1 ID 2024-02-05 22:49:37 +00:00
20240207152106_add_grading_standard_used_locations_indexes.rb improve used locations query performance 2024-02-22 17:05:24 +00:00
20240207181908_create_block_editors.rb migrations: collapse add_index calls into the create_table block 2024-03-12 21:09:02 +00:00
20240208204317_add_replica_identity_to_block_editors.rb remove `add_replica_identity` 2024-03-08 20:36:36 +00:00
20240208225234_share_banks_with_subaccounts_backfill.rb add share_banks_with_subaccounts permission 2024-02-20 16:16:33 +00:00
20240226152508_update_student_visibilities_v6.rb Look at assignment's quiz's ContentTags in ASV 2024-02-27 23:25:43 +00:00
20240229160528_remove_dangling_resource_links.rb wrap assignment 1.1-1.3 migration in transaction 2024-02-29 22:27:05 +00:00
20240306205029_add_pg12_collation_indexes.rb squash old migrations 202011 2024-03-08 15:22:42 +00:00
20240306205030_drop_collkey_indexes.rb fix collated indexes 2024-03-08 15:12:12 +00:00
20240307201034_remove_extra_comment_bank_items_root_account_id_index.rb remove extra comment_bank_items.root_account_id index 2024-03-08 15:31:11 +00:00
20240307214953_fix_unique_pseudonym_indexes.rb fix extraneous pseudonym index 2024-03-08 18:08:35 +00:00
20240312191240_add_assignment_embeddings.rb add assignments to smart search 2024-03-14 21:10:29 +00:00
20240313152338_remove_extraneous_indexes.rb remove some extraneous indexes 2024-03-13 18:21:02 +00:00
20240313153539_remove_guard_triggers_from_internal_metadata_tables.rb migrations: remove accidental extra excessive update triggers 2024-03-13 18:19:48 +00:00
20240313154359_fix_grading_period_group_id_type.rb migrations: fix grading_periods.grading_period_group_id type 2024-03-13 16:38:47 +00:00
20240313154717_make_user_profiles_user_id_not_null.rb clean up empty user profile records before adding the not null constraint 2024-03-14 17:14:42 +00:00
20240313170444_add_replica_identity_to_assignment_embeddings.rb add assignments to smart search 2024-03-14 21:10:29 +00:00
20240313192611_add_discussion_topic_embeddings.rb add discussion topics/announcements to smart search 2024-03-14 22:05:21 +00:00
20240313192641_add_replica_identity_to_discussion_topic_embeddings.rb add discussion topics/announcements to smart search 2024-03-14 22:05:21 +00:00
20240318220115_add_start_date_time_to_line_items.rb support startDateTime in the Line Items API 2024-03-26 18:58:20 +00:00
20240322203021_create_inbox_settings.rb Create Model for Inbox Signature Block 2024-04-01 23:58:44 +00:00
20240325180430_add_replica_identity_to_inbox_settings.rb Create Model for Inbox Signature Block 2024-04-01 23:58:44 +00:00
20240401130400_drop_external_feed_entries_unused_author_columns.rb rubocop: enforce all migration-related Rails cops 2024-04-03 19:17:11 +00:00
20240402182047_context_external_tools_not_selectable_default_false.rb Make ContextExternalTool.not_selectable be not nullable 2024-04-05 22:01:17 +00:00
20240402185343_create_object_student_visibilities.rb Add visibilities for learning objects 2024-04-03 18:04:35 +00:00
20240403144501_drop_deprecated_group_category_columns.rb drop long-deprecated group category columns 2024-04-09 20:19:40 +00:00
20240403161630_drop_graded_at_from_enrollments.rb drop long-deprecated enrollments.graded_at 2024-04-09 20:19:22 +00:00
20240405190851_context_external_tools_not_selectable_not_null.rb Make ContextExternalTool.not_selectable be not nullable 2024-04-05 22:01:17 +00:00
20240411191610_create_lti_registrations.rb Create Lti::Registration table and model 2024-04-19 17:30:13 +00:00
20240412165529_add_replica_identity_to_lti_registrations.rb Create Lti::Registration table and model 2024-04-19 17:30:13 +00:00
99999999999999999999_ensure_test_db_empty.rb migrations: ensure that no extraneous test data was created 2024-03-14 14:50:00 +00:00
748091800218022945873_regenerate_brand_files_based_on_new_defaults_predeploy.rb migrations: avoid creating extraneous data in the test env 2024-03-13 19:37:02 +00:00
748091800218022945874_regenerate_brand_files_based_on_new_defaults_postdeploy.rb migrations: avoid creating extraneous data in the test env 2024-03-13 19:37:02 +00:00