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) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Base = declarative_base() 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 sqlalchemy.orm import Session
from starlette.responses import FileResponse from starlette.responses import FileResponse
from fastapi import Depends, FastAPI from fastapi import Depends, FastAPI
from const import DATABASE_URL
from migrate import DatabaseAlreadyControlledError
from migrate.versioning.shell import main
import models import models
@ -33,9 +35,17 @@ _db: Session = SessionLocal()
# Ensure database existence # Ensure database existence
if not database_exists(engine.url): if not database_exists(engine.url):
# Create database from metadata
models.Base.metadata.create_all(engine) 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( _db.add(models.User(
username=os.getenv("ADMIN_USERNAME", "admin"), username=os.getenv("ADMIN_USERNAME", "admin"),
password=middleware.get_password_hash(os.getenv("ADMIN_PASSWORD", "admin")), password=middleware.get_password_hash(os.getenv("ADMIN_PASSWORD", "admin")),

Loading…
Cancel
Save