remove migration ignore sql analysis
This commit is contained in:
1 parent
12d0b7e9be
commit
48cba37764
2 files changed
+14
-36
No files matched your search
@@ -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")
|
||||
|
||||
@@ -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
|
||||
Reference in new issue
Block a user