26 lines
755 B
Python
26 lines
755 B
Python
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)
|