Skip to content

Disallow NULL values in detected_at column (#336091)

What does this MR do?

It implements the first step of the issue #336091:

Create a post-deployment migration according to step 1 of Add a NOT NULL constraint to an existing column

I have added a spec to test the model validation added.

Migrations

❯ bundle exec rails db:migrate        
== 20210729132645 AddNotNullConstraintToVulnerabilitiesDetectedAt: migrating ==
-- current_schema()
   -> 0.0006s
-- transaction_open?()
   -> 0.0000s
-- current_schema()
   -> 0.0007s
-- execute("ALTER TABLE vulnerabilities\nADD CONSTRAINT check_e987357e3b\nCHECK ( detected_at IS NOT NULL )\nNOT VALID;\n")
   -> 0.0015s
== 20210729132645 AddNotNullConstraintToVulnerabilitiesDetectedAt: migrated (0.0216s)
❯ bundle exec rails db:rollback STEP=1                                
== 20210729132645 AddNotNullConstraintToVulnerabilitiesDetectedAt: reverting ==
-- execute("ALTER TABLE vulnerabilities\nDROP CONSTRAINT IF EXISTS check_e987357e3b\n")
   -> 0.0019s
== 20210729132645 AddNotNullConstraintToVulnerabilitiesDetectedAt: reverted (0.0103s)

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Related to #336091

Merge request reports