remove migration ignore sql analysis

This commit is contained in:
Tobias Kroenke authored and David Wobrock committed 2019-05-19 22:29:02 +02:00
1 parent 12d0b7e9be
commit 48cba37764
2 files changed
+14 -36

No files matched your search

+1 -9
View File
@@ -108,15 +108,7 @@ class MigrationLinter(object):
return
sql_statements = self.get_sql(app_label, migration_name)
analysis_result = analyse_sql_statements(sql_statements)
errors = analysis_result["errors"]
if analysis_result["ignored"]:
print("IGNORE")
self.nb_ignored += 1
if self.should_use_cache():
self.new_cache[md5hash] = {"result": "IGNORE"}
return
errors = analyse_sql_statements(sql_statements)
if not errors:
print("OK")
+13 -27
View File
@@ -15,10 +15,6 @@
import re
import logging
from .operations import IGNORE_MIGRATION_SQL
IGNORED_MIGRATION = "IGNORED_MIGRATION"
logger = logging.getLogger(__name__)
@@ -71,36 +67,26 @@ migration_tests = (
),
},
{"code": "", "fn": has_default, "err_msg": ""},
{
"code": IGNORED_MIGRATION,
"fn": lambda sql, **kw: re.search(IGNORE_MIGRATION_SQL, sql),
"err_msg": "",
},
)
def analyse_sql_statements(sql_statements):
errors = []
ignored = False
for statement in sql_statements:
for test in migration_tests:
if test["fn"](statement, errors=errors):
if test["code"] == IGNORED_MIGRATION:
logger.debug("Testing {0} -- IGNORING MIGRATION".format(statement))
ignored = True
else:
logger.debug("Testing {0} -- ERROR".format(statement))
table_search = re.search(
"TABLE `([^`]*)`", statement, re.IGNORECASE
)
col_search = re.search("COLUMN `([^`]*)`", statement, re.IGNORECASE)
err = {
"err_msg": test["err_msg"],
"code": test["code"],
"table": table_search.group(1) if table_search else None,
"column": col_search.group(1) if col_search else None,
}
errors.append(err)
logger.debug("Testing {0} -- ERROR".format(statement))
table_search = re.search(
"TABLE `([^`]*)`", statement, re.IGNORECASE
)
col_search = re.search("COLUMN `([^`]*)`", statement, re.IGNORECASE)
err = {
"err_msg": test["err_msg"],
"code": test["code"],
"table": table_search.group(1) if table_search else None,
"column": col_search.group(1) if col_search else None,
}
errors.append(err)
else:
logger.debug("Testing {0} -- PASSED".format(statement))
return {"errors": errors, "ignored": ignored}
return errors