Add NOT NULL for sharding key on dast_scanner_profiles_builds
What does this MR do and why?
Add NOT NULL constraint to dast_scanner_profiles_builds.project_id column.
- We do not add a
presence: truevalidation in the model because we're populating the column using a "BEFORE INSERT OR UPDATE" trigger. When an object is created in rails, the property for the sharding key might be nil but it will be filled in the query execution before being commited - We have finalized the backfill migration for this column.
The sharding key will be used to determine what Organization the row belongs to.
References
- Organization Isolation and Sharding Keys: https://handbook.gitlab.com/handbook/engineering/architecture/design-documents/organization/isolation/
- Sharding Key (Cells) Development Guide: https://docs.gitlab.com/ee/development/cells/#defining-a-sharding-key-for-all-cell-local-tables
- Related to #493768 (closed)
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
N/A
How to set up and validate locally
N/A
Edited by Shane Maglangit