Source code for fictive.sqlalchemy.ext.flask.builtins.db

"""
a default `flask_sqlalchemy.SQLAlchemy` instance for using the framework

incorporates `fictive.sqlalchemy.framework.shared.declarative_base:DeclarativeBase`

"""

from flask_sqlalchemy import SQLAlchemy

from fictive.sqlalchemy.framework.shared.declarative_base import DeclarativeBase
from fictive.sqlalchemy.ext.flask import FilterByOrCreateMixin, OptInTransactionMixin


# pylint: disable=function-redefined
[docs]class SQLAlchemy(FilterByOrCreateMixin, OptInTransactionMixin, SQLAlchemy): """ add opt-in transactions and attaches the 'filter by or create' descriptor to model classes """
db = SQLAlchemy(model_class=DeclarativeBase) # pylint: disable=invalid-name