diff --git a/migrate/tests/versioning/test_script.py b/migrate/tests/versioning/test_script.py index 954bc0d..20e6af0 100644 --- a/migrate/tests/versioning/test_script.py +++ b/migrate/tests/versioning/test_script.py @@ -281,6 +281,16 @@ class TestSqlScript(fixture.Pathed, fixture.DB): for script_pattern in ( "BEGIN TRANSACTION; %s; COMMIT;", "BEGIN; %s; END TRANSACTION;", + "/* comment */BEGIN TRANSACTION; %s; /* comment */COMMIT;", + "/* comment */ BEGIN TRANSACTION; %s; /* comment */ COMMIT;", + """ +-- comment +BEGIN TRANSACTION; + +%s; + +-- comment +COMMIT;""", ): test_statement = ("CREATE TABLE TEST1 (field1 int); " diff --git a/migrate/versioning/script/sql.py b/migrate/versioning/script/sql.py index 4b0536d..862bc9f 100644 --- a/migrate/versioning/script/sql.py +++ b/migrate/versioning/script/sql.py @@ -54,6 +54,7 @@ class SqlScript(base.BaseScript): # not all drivers reliably handle multistatement queries or # commands passed to .execute(), so split them and execute one # by one + text = sqlparse.format(text, strip_comments=True, strip_whitespace=True) for statement in sqlparse.split(text): if statement: if re.match(ignored_regex, statement):