Add NOT NULL constraint to snippet_repository_storage_moves
What does this MR do and why?
Adds NOT NULL constraint on sharding key column snippet_project_id and snippet_organization_id on table: snippet_repository_storage_moves.
This merge request is the last step towards transforming the desired sharding key into a sharding key.
This involves the following changes:
- Adding a not null constraint for the sharding key columns (
snippet_project_idandsnippet_organization_id). - Setting
snippet_project_idandsnippet_organization_idassharding_keyofsnippet_repository_storage_moves.
We are skipping model-level validations when adding NOT NULL for now: !189213 (comment 2480466972)
The backfilling migrations were finished and finalized:
- https://gitlab.com/gitlab-org/gitlab/blob/35f8adf74eaa06b64b3f672dbb68b9b0a47a51c6/db/docs/batched_background_migrations/backfill_snippet_repository_storage_moves_snippet_project_id.yml
- https://gitlab.com/gitlab-org/gitlab/blob/656fbeae5103f277e7eddda3dbfd42499ab54c65/db/docs/batched_background_migrations/backfill_snippet_repository_storage_moves_snippet_organization_id.yml
References
- !189213 (comment 2480466972)
- https://docs.gitlab.com/ee/development/database/multiple_databases.html#defining-a-sharding-key-for-all-cell-local-tables
- https://docs.gitlab.com/development/database/not_null_constraints/
Screenshots or screen recordings
| Before | After |
|---|---|
How to set up and validate locally
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.