Add Postgresql warning when using CREATE INDEX without CONCURRENTLY keyword
This commit is contained in:
1 parent
9ea8872a29
commit
343d163c88
3 files changed
+31
-4
No files matched your search
@@ -29,4 +29,4 @@ def analyse_sql_statements(
|
||||
):
|
||||
sql_analyser = get_sql_analyser(database_vendor, exclude_migration_tests)
|
||||
sql_analyser.analyse(sql_statements)
|
||||
return sql_analyser.errors, sql_analyser.ignored
|
||||
return sql_analyser.errors, sql_analyser.ignored, sql_analyser.warnings
|
||||
@@ -1,5 +1,16 @@
|
||||
import re
|
||||
|
||||
from .base import BaseAnalyser
|
||||
|
||||
|
||||
class PostgresqlAnalyser(BaseAnalyser):
|
||||
migration_tests = []
|
||||
migration_tests = [
|
||||
{
|
||||
"code": "CREATE_INDEX",
|
||||
"fn": lambda sql, **kw: re.search("CREATE (UNIQUE )?INDEX", sql)
|
||||
and not re.search("INDEX CONCURRENTLY", sql),
|
||||
"msg": "CREATE INDEX locks table",
|
||||
"mode": "one_liner",
|
||||
"type": "warning",
|
||||
},
|
||||
]
|
||||
Reference in new issue
Block a user