Spaces:
Sleeping
Sleeping
Update backend/app/db.py
Browse files- backend/app/db.py +25 -5
backend/app/db.py
CHANGED
|
@@ -1,16 +1,36 @@
|
|
|
|
|
| 1 |
from sqlalchemy import create_engine
|
| 2 |
from sqlalchemy.orm import declarative_base, sessionmaker
|
| 3 |
|
| 4 |
-
|
| 5 |
-
|
| 6 |
DATABASE_URL = f"sqlite:///{DB_PATH}"
|
| 7 |
-
|
| 8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 9 |
Base = declarative_base()
|
| 10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 11 |
def get_db():
|
| 12 |
db = SessionLocal()
|
| 13 |
try:
|
| 14 |
yield db
|
| 15 |
finally:
|
| 16 |
-
db.close()
|
|
|
|
| 1 |
+
import os
|
| 2 |
from sqlalchemy import create_engine
|
| 3 |
from sqlalchemy.orm import declarative_base, sessionmaker
|
| 4 |
|
| 5 |
+
DB_PATH = os.getenv("DB_PATH", "/data/clusterforge.db")
|
|
|
|
| 6 |
DATABASE_URL = f"sqlite:///{DB_PATH}"
|
| 7 |
+
|
| 8 |
+
engine = create_engine(
|
| 9 |
+
DATABASE_URL,
|
| 10 |
+
connect_args={"check_same_thread": False},
|
| 11 |
+
)
|
| 12 |
+
|
| 13 |
+
SessionLocal = sessionmaker(
|
| 14 |
+
autocommit=False,
|
| 15 |
+
autoflush=False,
|
| 16 |
+
bind=engine,
|
| 17 |
+
)
|
| 18 |
+
|
| 19 |
Base = declarative_base()
|
| 20 |
|
| 21 |
+
|
| 22 |
+
def init_db() -> None:
|
| 23 |
+
import backend.app.models.dataset
|
| 24 |
+
import backend.app.models.experiment
|
| 25 |
+
import backend.app.models.cluster_result
|
| 26 |
+
import backend.app.models.cluster_summary
|
| 27 |
+
|
| 28 |
+
Base.metadata.create_all(bind=engine)
|
| 29 |
+
|
| 30 |
+
|
| 31 |
def get_db():
|
| 32 |
db = SessionLocal()
|
| 33 |
try:
|
| 34 |
yield db
|
| 35 |
finally:
|
| 36 |
+
db.close()
|