fix:bug
This commit is contained in:
32
scripts/init_db.py
Normal file
32
scripts/init_db.py
Normal file
@@ -0,0 +1,32 @@
|
||||
"""
|
||||
Simple database initialization script.
|
||||
|
||||
Usage:
|
||||
python scripts/init_db.py
|
||||
"""
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
from backend.app.db import Base, engine
|
||||
from backend.app import models # noqa: F401 - ensure models are imported
|
||||
|
||||
|
||||
def ensure_data_dir():
|
||||
db_url = os.getenv("DATABASE_URL", "sqlite:///./data/ops_core.db")
|
||||
if db_url.startswith("sqlite:///"):
|
||||
relative_path = db_url.replace("sqlite:///", "")
|
||||
db_path = Path(relative_path).resolve()
|
||||
db_dir = db_path.parent
|
||||
db_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
|
||||
def init_db():
|
||||
ensure_data_dir()
|
||||
Base.metadata.create_all(bind=engine)
|
||||
print("Database initialized.")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
init_db()
|
||||
|
||||
Reference in New Issue
Block a user