Add & backfill sharding keys for bulk_import_export_uploads
## What does this MR do and why? Add and backfill multiple sharding keys for bulk_import_export_uploads. This table has a [desired sharding key](https://docs.gitlab.com/ee/development/database/multiple_databases.html#define-a-desired_sharding_key-to-automatically-backfill-a-sharding_key) configured ([view configuration](https://gitlab.com/gitlab-org/gitlab/-/blob/master/db/docs/bulk_import_export_uploads.yml)). This merge request is the first step towards transforming the desired sharding key into a [sharding key](https://docs.gitlab.com/ee/development/database/multiple_databases.html#defining-a-sharding-key-for-all-cell-local-tables). This involves three changes: - Adding a new column that will serve as the sharding key (along with the relevant index and foreign key). - Populating the sharding key when new records are created by adding a database function and trigger. - Scheduling a [batched background migration](https://docs.gitlab.com/ee/development/database/batched_background_migrations.html) to set the sharding key for existing records. Once the background migration has completed, a second merge request will be created to finalize the background migration and validate the not null constraint. ## How to verify Please review this merge request from a ~backend perspective. The main thing we are looking to verify is that the added column and association match the values specified by the [desired sharding key](https://gitlab.com/gitlab-org/gitlab/-/blob/master/db/docs/bulk_import_export_uploads.yml) configuration and that backfilling the column from this other table makes sense in the context of this feature. When you are finished, please: 1. Trigger the [database testing pipeline](https://docs.gitlab.com/ee/development/database/database_migration_pipeline.html) as instructed by Danger. 1. Request a review from the ~backend maintainer and ~database reviewer suggested by Danger. If you have any questions or concerns, reach out to `@tigerwnz` or @shubhamkrai. This merge request was generated by a once off keep implemented in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/143774 This change was generated by [gitlab-housekeeper](https://gitlab.com/gitlab-org/gitlab/-/tree/master/gems/gitlab-housekeeper) using the Keeps::BackfillMultipleDesiredShardingKeySmallTable keep. To provide feedback on your experience with `gitlab-housekeeper` please create an issue with the label ~"GitLab Housekeeper" and consider pinging the author of this keep. Changelog: other
显示
- db/docs/batched_background_migrations/backfill_bulk_import_export_uploads_group_id.yml 8 个添加, 0 个删除...grations/backfill_bulk_import_export_uploads_group_id.yml
- db/docs/batched_background_migrations/backfill_bulk_import_export_uploads_project_id.yml 8 个添加, 0 个删除...ations/backfill_bulk_import_export_uploads_project_id.yml
- db/docs/bulk_import_export_uploads.yml 3 个添加, 0 个删除db/docs/bulk_import_export_uploads.yml
- db/migrate/20241213150045_add_project_id_to_bulk_import_export_uploads.rb 9 个添加, 0 个删除...213150045_add_project_id_to_bulk_import_export_uploads.rb
- db/migrate/20241213150050_add_group_id_to_bulk_import_export_uploads.rb 9 个添加, 0 个删除...41213150050_add_group_id_to_bulk_import_export_uploads.rb
- db/post_migrate/20241213150046_index_bulk_import_export_uploads_on_project_id.rb 16 个添加, 0 个删除...3150046_index_bulk_import_export_uploads_on_project_id.rb
- db/post_migrate/20241213150047_add_bulk_import_export_uploads_project_id_fk.rb 16 个添加, 0 个删除...213150047_add_bulk_import_export_uploads_project_id_fk.rb
- db/post_migrate/20241213150048_add_bulk_import_export_uploads_project_id_trigger.rb 25 个添加, 0 个删除...0048_add_bulk_import_export_uploads_project_id_trigger.rb
- db/post_migrate/20241213150049_queue_backfill_bulk_import_export_uploads_project_id.rb 40 个添加, 0 个删除...9_queue_backfill_bulk_import_export_uploads_project_id.rb
- db/post_migrate/20241213150051_index_bulk_import_export_uploads_on_group_id.rb 16 个添加, 0 个删除...213150051_index_bulk_import_export_uploads_on_group_id.rb
- db/post_migrate/20241213150052_add_bulk_import_export_uploads_group_id_fk.rb 16 个添加, 0 个删除...41213150052_add_bulk_import_export_uploads_group_id_fk.rb
- db/post_migrate/20241213150053_add_bulk_import_export_uploads_group_id_trigger.rb 25 个添加, 0 个删除...150053_add_bulk_import_export_uploads_group_id_trigger.rb
- db/post_migrate/20241213150054_queue_backfill_bulk_import_export_uploads_group_id.rb 40 个添加, 0 个删除...054_queue_backfill_bulk_import_export_uploads_group_id.rb
- db/schema_migrations/20241213150045 1 个添加, 0 个删除db/schema_migrations/20241213150045
- db/schema_migrations/20241213150046 1 个添加, 0 个删除db/schema_migrations/20241213150046
- db/schema_migrations/20241213150047 1 个添加, 0 个删除db/schema_migrations/20241213150047
- db/schema_migrations/20241213150048 1 个添加, 0 个删除db/schema_migrations/20241213150048
- db/schema_migrations/20241213150049 1 个添加, 0 个删除db/schema_migrations/20241213150049
- db/schema_migrations/20241213150050 1 个添加, 0 个删除db/schema_migrations/20241213150050
- db/schema_migrations/20241213150051 1 个添加, 0 个删除db/schema_migrations/20241213150051
db/schema_migrations/20241213150045
0 → 100644
db/schema_migrations/20241213150046
0 → 100644
db/schema_migrations/20241213150047
0 → 100644
db/schema_migrations/20241213150048
0 → 100644
db/schema_migrations/20241213150049
0 → 100644
db/schema_migrations/20241213150050
0 → 100644
db/schema_migrations/20241213150051
0 → 100644
想要评论请 注册 或 登录