get_db_connection duplicado, consolidando em base.py

This commit is contained in:
2026-02-16 21:49:23 -03:00
parent 8ea6f15f3a
commit 6882b57081
3 changed files with 15 additions and 37 deletions

View File

@@ -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