|
@@ -48,8 +48,19 @@ def get_tm_session(session_factory, transaction_manager):
|
48
|
48
|
|
49
|
49
|
"""
|
50
|
50
|
dbsession = session_factory()
|
|
51
|
+ # FIXME - G.M - 02-05-2018 - Check Zope/Sqlalchemy session conf.
|
|
52
|
+ # We use both keep_session=True for zope and
|
|
53
|
+ # expire_on_commit=False for sessionmaker to keep session alive after
|
|
54
|
+ # commit ( in order to not have trouble like #52 or
|
|
55
|
+ # detached objects problems).
|
|
56
|
+ # These problem happened because we use "commit" in our current code.
|
|
57
|
+ # Understand what those params really mean and check if it can cause
|
|
58
|
+ # troubles somewhere else.
|
51
|
59
|
zope.sqlalchemy.register(
|
52
|
|
- dbsession, transaction_manager=transaction_manager)
|
|
60
|
+ dbsession,
|
|
61
|
+ transaction_manager=transaction_manager,
|
|
62
|
+ keep_session=True,
|
|
63
|
+ )
|
53
|
64
|
listen(dbsession, 'before_flush', prevent_content_revision_delete)
|
54
|
65
|
return dbsession
|
55
|
66
|
|