diff --git a/transportmanager/deploy/supervisord.conf b/transportmanager/deploy/supervisord.conf index bc751d2..b4ce651 100644 --- a/transportmanager/deploy/supervisord.conf +++ b/transportmanager/deploy/supervisord.conf @@ -3,6 +3,19 @@ nodaemon=true logfile=/dev/null pidfile=/var/run/supervisord.pid +; --- Database Init --- +[program:initdb] +directory=/app/server +command=/usr/local/bin/python database.py +autostart=true +autorestart=false +startsecs=0 +stdout_logfile=/dev/stdout +stderr_logfile=/dev/stderr +stdout_logfile_maxbytes=0 +stderr_logfile_maxbytes=0 +priority=5 + ; --- Flask API (gunicorn) --- [program:api] directory=/app/server diff --git a/transportmanager/server/database.py b/transportmanager/server/database.py index f5d2815..2e00c9e 100644 --- a/transportmanager/server/database.py +++ b/transportmanager/server/database.py @@ -10,7 +10,7 @@ except ImportError: DB_TYPE = 'sqlite3' BASE_DIR = Path(__file__).resolve().parent -SCHEMA_PATH = BASE_DIR / "schema.sql" if DB_TYPE != 'sqlite3' else BASE_DIR / "schema_sqlite.sql" + DATABASE_URL = os.getenv("DATABASE_URL") SQLITE_PATH = BASE_DIR / "instance" / "dev.db" @@ -18,6 +18,10 @@ SQLITE_PATH = BASE_DIR / "instance" / "dev.db" def is_postgres(): return DATABASE_URL and DATABASE_URL.lower().startswith("postgres") +if is_postgres(): + SCHEMA_PATH = BASE_DIR / "schema.sql" +else: + SCHEMA_PATH = BASE_DIR / "schema_sqlite.sql" def get_connection(): if is_postgres():