From 6bb134e473161720cc674da3071f869e1ea46401 Mon Sep 17 00:00:00 2001 From: Louis King Date: Wed, 3 Dec 2025 19:47:19 +0000 Subject: [PATCH] Updates --- alembic/env.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/alembic/env.py b/alembic/env.py index aafb93a..e37432c 100644 --- a/alembic/env.py +++ b/alembic/env.py @@ -21,10 +21,22 @@ target_metadata = Base.metadata def get_database_url() -> str: """Get database URL from environment or config.""" - # First try environment variable + from pathlib import Path + + # First try explicit DATABASE_URL environment variable url = os.environ.get("DATABASE_URL") if url: + # Ensure directory exists for sqlite URLs + if url.startswith("sqlite:///"): + db_path = Path(url.replace("sqlite:///", "")) + db_path.parent.mkdir(parents=True, exist_ok=True) return url + # Try DATA_HOME environment variable + data_home = os.environ.get("DATA_HOME") + if data_home: + db_path = Path(data_home) / "collector" / "meshcore.db" + db_path.parent.mkdir(parents=True, exist_ok=True) + return f"sqlite:///{db_path}" # Fall back to alembic.ini return config.get_main_option("sqlalchemy.url", "sqlite:///./meshcore.db")