details: https://code.tryton.org/tryton/commit/654923a8085d
branch: default
user: Cédric Krier <[email protected]>
date: Mon Aug 17 17:32:55 2026 +0200
description:
Set all attributes of transaction before connecting to the database
The connection to the database may fail and thus stop and rollback may
be
called. All the attributes must be set to avoid to raise another
AttributeError
exception.
Closes #15022
diffstat:
trytond/trytond/transaction.py | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
diffs (30 lines):
diff -r c883d23dcb02 -r 654923a8085d trytond/trytond/transaction.py
--- a/trytond/trytond/transaction.py Sat Aug 01 10:21:45 2026 +0200
+++ b/trytond/trytond/transaction.py Mon Aug 17 17:32:55 2026 +0200
@@ -187,13 +187,7 @@
# it is strictly before all transactions started after
# but it may be also before transactions started before
self.started_at = self.monotonic_time()
- if not database_name:
- database = backend.Database().connect()
- else:
- database = backend.Database(database_name).connect()
- Flavor.set(backend.Database.flavor)
self.user = user
- self.database = database
self.readonly = readonly
self.context = ImmutableDict(context or {})
self.create_records = defaultdict(list)
@@ -206,6 +200,12 @@
self.counter = 0
self._datamanagers = []
+ if not database_name:
+ database = backend.Database().connect()
+ else:
+ database = backend.Database(database_name).connect()
+ Flavor.set(backend.Database.flavor)
+ self.database = database
self.connection = database.get_connection(readonly=readonly,
autocommit=autocommit, statement_timeout=timeout)
count = 0