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

@@ -129,7 +129,7 @@ class Migration::SafeMigrate
in use by live applications.
TEXT
raise Discourse::InvalidMigration, "Attempt was made to drop a table"
elsif sql =~ /\A\s*alter\s+table.*(?:rename|drop)\s+/i
elsif sql =~ /\A\s*alter\s+table.*(?:rename|drop(?!\s+not\s+null))\s+/i
$stdout.puts("", <<~TEXT)
WARNING
-------------------------------------------------------------------------------------