Optionally configure SQLAlchemy Session with future=True

this avoids the need for setting `cascade_backrefs=False` everywhere

https://docs.sqlalchemy.org/en/14/errors.html#error-s9r1

https://docs.sqlalchemy.org/en/14/orm/session_api.html#sqlalchemy.orm.Session.params.future
This commit is contained in:
Lance Edgar 2023-09-10 07:43:02 -05:00
parent 0c1a4cd14c
commit 64d505fdbf

View file

@ -1626,6 +1626,11 @@ def make_config(files=None, usedb=None, preferdb=None, env=None, winsvc=None, ex
from rattail.db.config import configure_versioning from rattail.db.config import configure_versioning
configure_versioning(config) configure_versioning(config)
# maybe set "future" behavior for SQLAlchemy
if config.getbool('rattail.db', 'sqlalchemy_future_mode', usedb=False):
from rattail.db import Session
Session.configure(future=True)
return config return config