Browse Source

* Potential fix for #6

pull/10/head
Per-Arne 5 years ago
parent
commit
91e5cc267b
  1. 9
      wg_dashboard_backend/database.py
  2. 14
      wg_dashboard_backend/main.py

9
wg_dashboard_backend/database.py

@ -11,12 +11,3 @@ engine = sqlalchemy.create_engine(
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Base = declarative_base()
from const import DATABASE_URL
from migrate import DatabaseAlreadyControlledError
from migrate.versioning.shell import main
try:
main(["version_control", DATABASE_URL, "migrations"])
except DatabaseAlreadyControlledError:
pass
main(["upgrade", DATABASE_URL, "migrations"])

14
wg_dashboard_backend/main.py

@ -22,7 +22,9 @@ from fastapi.staticfiles import StaticFiles
from sqlalchemy.orm import Session
from starlette.responses import FileResponse
from fastapi import Depends, FastAPI
from const import DATABASE_URL
from migrate import DatabaseAlreadyControlledError
from migrate.versioning.shell import main
import models
@ -33,9 +35,17 @@ _db: Session = SessionLocal()
# Ensure database existence
if not database_exists(engine.url):
# Create database from metadata
models.Base.metadata.create_all(engine)
# Create default user
# Do migrations
try:
main(["version_control", DATABASE_URL, "migrations"])
except DatabaseAlreadyControlledError:
pass
main(["upgrade", DATABASE_URL, "migrations"])
# Create default user
_db.add(models.User(
username=os.getenv("ADMIN_USERNAME", "admin"),
password=middleware.get_password_hash(os.getenv("ADMIN_PASSWORD", "admin")),

Loading…
Cancel
Save