Implement BaseModel class, TimestampMixin, TzDateTime type; cleanup Task model

This commit is contained in:
Lexi / Zoe 2022-04-15 21:45:10 +02:00
parent 7ce43a2bfe
commit 252c15acbd
Signed by: binaryDiv
GPG key ID: F8D4956E224DA232
15 changed files with 223 additions and 42 deletions

View file

@ -0,0 +1,25 @@
from sqlalchemy import MetaData as _MetaData
__all__ = [
'MetaData',
]
class MetaData(_MetaData):
"""
App specific subclass of the SQLAlchemy MetaData class.
"""
# Define naming convention for constraints
_naming_convention = {
"ix": 'ix_%(column_0_label)s',
"uq": "uq_%(table_name)s_%(column_0_name)s",
"ck": "ck_%(table_name)s_%(constraint_name)s",
"fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",
"pk": "pk_%(table_name)s"
}
def __init__(self, *args, naming_convention=None, **kwargs):
if not naming_convention:
naming_convention = self._naming_convention
super().__init__(*args, naming_convention=naming_convention, **kwargs)