Spaces:
Sleeping
Sleeping
Update app/database.py
Browse files- app/database.py +10 -3
app/database.py
CHANGED
|
@@ -2,15 +2,22 @@ from sqlalchemy import create_engine
|
|
| 2 |
from sqlalchemy.orm import sessionmaker, declarative_base
|
| 3 |
from app.config import settings
|
| 4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5 |
|
| 6 |
-
engine = create_engine(settings.DATABASE_URL, pool_pre_ping=True, future=True)
|
| 7 |
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine, future=True)
|
| 8 |
Base = declarative_base()
|
| 9 |
|
| 10 |
-
|
| 11 |
def get_db():
|
| 12 |
db = SessionLocal()
|
| 13 |
try:
|
| 14 |
yield db
|
| 15 |
finally:
|
| 16 |
-
db.close()
|
|
|
|
| 2 |
from sqlalchemy.orm import sessionmaker, declarative_base
|
| 3 |
from app.config import settings
|
| 4 |
|
| 5 |
+
# Detect SQLite for fast local/Spaces boot without env vars
|
| 6 |
+
is_sqlite = settings.DATABASE_URL.startswith("sqlite+")
|
| 7 |
+
|
| 8 |
+
engine = create_engine(
|
| 9 |
+
settings.DATABASE_URL,
|
| 10 |
+
pool_pre_ping=not is_sqlite,
|
| 11 |
+
future=True,
|
| 12 |
+
connect_args={"check_same_thread": False} if is_sqlite else {},
|
| 13 |
+
)
|
| 14 |
|
|
|
|
| 15 |
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine, future=True)
|
| 16 |
Base = declarative_base()
|
| 17 |
|
|
|
|
| 18 |
def get_db():
|
| 19 |
db = SessionLocal()
|
| 20 |
try:
|
| 21 |
yield db
|
| 22 |
finally:
|
| 23 |
+
db.close()
|