tofu-api/tofu_api/models/base.py

23 lines
657 B
Python

from sqlalchemy import MetaData
from sqlalchemy.orm import declarative_base
__all__ = [
'metadata',
'BaseModel',
]
# 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"
}
# Create metadata object for database schemas
metadata = MetaData(naming_convention=_naming_convention)
# Generate declarative base class for database models
BaseModel = declarative_base(name='BaseModel', metadata=metadata)