fix: enable transaction in db.queries

This commit is contained in:
Domingo Dirutigliano
2023-09-22 21:08:23 +02:00
parent cdb4e6ac21
commit cc4db16f2d

View File

@@ -64,6 +64,7 @@ class SQLite():
def queries_iter(self, queries: list[tuple[str, ...]]): def queries_iter(self, queries: list[tuple[str, ...]]):
cur = self.conn.cursor() cur = self.conn.cursor()
try: try:
cur.execute("BEGIN")
for query_data in queries: for query_data in queries:
values = [] values = []
str_query = None str_query = None
@@ -75,6 +76,10 @@ class SQLite():
if str_query: if str_query:
cur.execute(str_query, values) cur.execute(str_query, values)
yield cur.fetchall() yield cur.fetchall()
cur.execute("COMMIT")
except Exception as e:
cur.execute("ROLLBACK")
raise e
finally: finally:
cur.close() cur.close()
try: self.conn.commit() try: self.conn.commit()