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)