CheckColumns Constraint (#730)
* feat: add check columns class * feat: write document of check columns part * test: write a test for check columns constraints * fix: debuging test exception raise mysql * fix: set pragma no cover to ignore cov * fix: ignore pytest raise in python 3.x not 10 * feat: set constraint name for check columns * refactor: support index and check overwrites * fix: debuging check constraint arguments * fix: debug coverage all code tests * fix: pass the map of type constraint to counter * refactor: edit check name replace sapce underline * refactor: write new function copy constraints * test: write test for invalid constraint type * fix: debug text cluase replaced names * fix: set pragma no cover for result returned * refactor: no coverage for main if statement * perf: change get constraint copy func code * fix: fix bug in mypy typing check
This commit is contained in:
@ -298,7 +298,7 @@ def populate_meta_sqlalchemy_table_if_required(meta: "ModelMeta") -> None:
|
||||
|
||||
def set_constraint_names(meta: "ModelMeta") -> None:
|
||||
"""
|
||||
Populates the names on IndexColumn and UniqueColumns constraints.
|
||||
Populates the names on IndexColumns and UniqueColumns and CheckColumns constraints.
|
||||
|
||||
:param meta: Meta class of the Model without sqlalchemy table constructed
|
||||
:type meta: Model class Meta
|
||||
@ -317,6 +317,9 @@ def set_constraint_names(meta: "ModelMeta") -> None:
|
||||
f"ix_{meta.tablename}_"
|
||||
f'{"_".join([col for col in constraint._pending_colargs])}'
|
||||
)
|
||||
elif isinstance(constraint, sqlalchemy.CheckConstraint) and not constraint.name:
|
||||
sql_condition: str = str(constraint.sqltext).replace(" ", "_")
|
||||
constraint.name = f"check_{meta.tablename}_{sql_condition}"
|
||||
|
||||
|
||||
def update_column_definition(
|
||||
|
||||
Reference in New Issue
Block a user