/examples/migrations/1790078880_require_currency.up.sql:1 [warning] PG303: SET NOT NULL scans the whole table under an ACCESS EXCLUSIVE lock to check existing rows, and a row holding NULL aborts it (column contains null values); backfill first, then add CHECK (col IS NOT NULL) NOT VALID, validate it under a weaker lock, and SET NOT NULL afterwards, which then scans nothing (not-null validation scans existing rows) /examples/migrations/1790078880_require_currency.up.sql:2 [error] DS105: dropping a constraint removes an existing data protection; verify the replacement safety invariant before applying (constraint dropped) 2 finding(s).