Код: Выделить всё
from peewee import MySQLDatabase
class SQLDb(MySQLDatabase):
def connect(self, *args, **kwargs):
attempts = 5
while attempts > 0:
# Logic to retry db connection
def begin(self):
self.execute_sql('set autocommit=0')
self.execute_sql('begin')
DB.tranaction() во время выполнения транзакции.
Теперь, когда мы обновили peewe до версии 3.17 .x мы наблюдаем странное поведение.
если все установлено так, как есть
Код: Выделить всё
def begin(self):
self.execute_sql('set autocommit=0')
self.execute_sql('begin')
Когда я удаляю эту строку self.execute_sql('set autocommit=0'), она начинает работать как и ожидалось.
Теперь, если я удалю self.execute_sql('set autocommit=0'), я верю, что изменю поведение транзакции для фиксации при каждой команде mysql. Как мне убедиться, что с peewe 3.17.x все работает должным образом?
Все работает до версии peewe 3.15.3. В Peewe 3.16 есть некоторые важные изменения, связанные с поведением автокомитирования Peewe.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -behaviour