DEV: Allow DROP NOT NULL in pre-deploy migrations (#20775)

Our SafeMigrate system is designed to prevent tables/columns being dropped in pre-deploy migrations. Its regex-based detection was triggering incorrectly on `ALTER COLUMN DROP NOT NULL`.
This commit is contained in:
David Taylor
2023-03-22 14:43:32 +00:00
committed by GitHub
parent a0140f6f75
commit 7070f81596
3 changed files with 22 additions and 1 deletions

View File

@ -70,6 +70,16 @@ RSpec.describe Migration::SafeMigrate do
expect { User.first.username }.not_to raise_error
end
it "allows dropping NOT NULL" do
Migration::SafeMigrate.enable!
path = File.expand_path "#{Rails.root}/spec/fixtures/db/migrate/drop_not_null"
output = capture_stdout { migrate_up(path) }
expect(output).to include("change_column_null(:users, :username, true)")
end
it "supports being disabled" do
Migration::SafeMigrate.enable!
Migration::SafeMigrate.disable!