diff --git a/company-explorer/backend/database.py b/company-explorer/backend/database.py index 6f53466d..a78fee66 100644 --- a/company-explorer/backend/database.py +++ b/company-explorer/backend/database.py @@ -1,11 +1,22 @@ -from sqlalchemy import create_engine, Column, Integer, String, Text, DateTime, ForeignKey, Float, Boolean, JSON +from sqlalchemy import create_engine, Column, Integer, String, Text, DateTime, ForeignKey, Float, Boolean, JSON, event from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker, relationship from datetime import datetime from .config import settings # Setup -engine = create_engine(settings.DATABASE_URL, connect_args={"check_same_thread": False}) +engine = create_engine( + settings.DATABASE_URL, + connect_args={"check_same_thread": False, "timeout": 30} +) + +# Enable WAL mode for SQLite +@event.listens_for(engine, "connect") +def set_sqlite_pragma(dbapi_connection, connection_record): + cursor = dbapi_connection.cursor() + cursor.execute("PRAGMA journal_mode=WAL") + cursor.close() + SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) Base = declarative_base()