23 lines
657 B
Python
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)
|