get_db_connection duplicado, consolidando em base.py
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy import create_engine, text
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
from sqlalchemy.orm import sessionmaker
|
||||
from pathlib import Path
|
||||
import os
|
||||
|
||||
# Configurar caminho do banco de dados
|
||||
db_dir = Path.home() / '.local' / 'share' / 'controles'
|
||||
@@ -24,10 +23,14 @@ Session = sessionmaker(bind=engine)
|
||||
Base = declarative_base()
|
||||
|
||||
def get_db_connection():
|
||||
"""Retorna uma nova sessão do banco de dados"""
|
||||
"""Retorna uma nova sessão do banco de dados com PRAGMAs configuradas"""
|
||||
session = Session()
|
||||
try:
|
||||
# Configurar SQLite para melhor tratamento de concorrência
|
||||
session.execute(text("PRAGMA journal_mode=WAL"))
|
||||
session.execute(text("PRAGMA busy_timeout=5000"))
|
||||
return session
|
||||
except Exception as e:
|
||||
session.rollback()
|
||||
raise e
|
||||
session.close()
|
||||
raise e
|
||||
|
||||
Reference in New Issue
Block a user