"""
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