diff --git a/flaschengeist/database.py b/flaschengeist/database.py index 410e0cf..ebda993 100644 --- a/flaschengeist/database.py +++ b/flaschengeist/database.py @@ -1,9 +1,31 @@ from flask_sqlalchemy import SQLAlchemy +from sqlalchemy import MetaData -db = SQLAlchemy() +# https://alembic.sqlalchemy.org/en/latest/naming.html +metadata = MetaData( + naming_convention={ + "pk": "pk_%(table_name)s", + "ix": "ix_%(table_name)s_%(column_0_name)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", + } +) + + +db = SQLAlchemy(metadata=metadata) def case_sensitive(s): + """ + Compare string as case sensitive on the database + + Args: + s: string to compare + + Example: + User.query.filter(User.name == case_sensitive(some_string)) + """ if db.session.bind.dialect.name == "mysql": from sqlalchemy import func