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
|
return
|
||||||
|
|
||||||
sql_statements = self.get_sql(app_label, migration_name)
|
sql_statements = self.get_sql(app_label, migration_name)
|
||||||
analysis_result = analyse_sql_statements(sql_statements)
|
errors = 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
|
|
||||||
|
|
||||||
if not errors:
|
if not errors:
|
||||||
print("OK")
|
print("OK")
|
||||||
|
|||||||
@@ -15,10 +15,6 @@
|
|||||||
import re
|
import re
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from .operations import IGNORE_MIGRATION_SQL
|
|
||||||
|
|
||||||
IGNORED_MIGRATION = "IGNORED_MIGRATION"
|
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@@ -71,36 +67,26 @@ migration_tests = (
|
|||||||
),
|
),
|
||||||
},
|
},
|
||||||
{"code": "", "fn": has_default, "err_msg": ""},
|
{"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):
|
def analyse_sql_statements(sql_statements):
|
||||||
errors = []
|
errors = []
|
||||||
ignored = False
|
|
||||||
for statement in sql_statements:
|
for statement in sql_statements:
|
||||||
for test in migration_tests:
|
for test in migration_tests:
|
||||||
if test["fn"](statement, errors=errors):
|
if test["fn"](statement, errors=errors):
|
||||||
if test["code"] == IGNORED_MIGRATION:
|
logger.debug("Testing {0} -- ERROR".format(statement))
|
||||||
logger.debug("Testing {0} -- IGNORING MIGRATION".format(statement))
|
table_search = re.search(
|
||||||
ignored = True
|
"TABLE `([^`]*)`", statement, re.IGNORECASE
|
||||||
else:
|
)
|
||||||
logger.debug("Testing {0} -- ERROR".format(statement))
|
col_search = re.search("COLUMN `([^`]*)`", statement, re.IGNORECASE)
|
||||||
table_search = re.search(
|
err = {
|
||||||
"TABLE `([^`]*)`", statement, re.IGNORECASE
|
"err_msg": test["err_msg"],
|
||||||
)
|
"code": test["code"],
|
||||||
col_search = re.search("COLUMN `([^`]*)`", statement, re.IGNORECASE)
|
"table": table_search.group(1) if table_search else None,
|
||||||
err = {
|
"column": col_search.group(1) if col_search else None,
|
||||||
"err_msg": test["err_msg"],
|
}
|
||||||
"code": test["code"],
|
errors.append(err)
|
||||||
"table": table_search.group(1) if table_search else None,
|
|
||||||
"column": col_search.group(1) if col_search else None,
|
|
||||||
}
|
|
||||||
errors.append(err)
|
|
||||||
else:
|
else:
|
||||||
logger.debug("Testing {0} -- PASSED".format(statement))
|
logger.debug("Testing {0} -- PASSED".format(statement))
|
||||||
return {"errors": errors, "ignored": ignored}
|
return errors
|
||||||
Reference in new issue
Block a user