Backfill migration, DB not null constraint for releases table author_id column
We are closing #367522 (closed) via !104853 (merged).
As defined in the database guidelines:
All attributes that should not have NULL as a value, should be defined as NOT NULL columns in the database.
we should also perform a migration to include a NOT NULL
constraint on the database table.
Implementation Proposal
-
1) Perform backfill migration for existing records with empty author_id as discussed in #367522 (comment 1156503600) -
2) Validate on gitlab.com
that there are no nullauthor_id
value on the releases table. -
3) Verify that the model validation is working fine without errors using FF validate_release_with_author
-
4) Proceed with including. Dropped for #386089 (comment 1255277352)NOT NULL CONSTRAINT
to the table as per database guildelines-
In Release N, include a post-deployment migration to add theNOT NULL
constraint with validate: false.-
i.edef up add_not_null_constraint :releases, :author_id, validate: false end
-
-
In Release N+1, validate theNOT NULL
constraint using a post-deployment migration.-
i.edef up validate_not_null_constraint :releases, :author_id end
-
-
-
4) Document correction for releases when user is deleted along with contributions. Model validation for author_id on releases, revert to on: :create alone. -
5) Remove FFvalidate_release_with_author
. Tracked in #390050 (closed)
Edited by Bala Kumar