diff --git a/backend/src/app.py b/backend/src/app.py index 07f1e17..f49c30a 100644 --- a/backend/src/app.py +++ b/backend/src/app.py @@ -11,6 +11,7 @@ from fastapi_jwt_auth.exceptions import AuthJWTException from pydantic import BaseModel import src.settings as settings +from src.database.alembic import run_migrations from src.database.database import init_db from src.exceptions.base_exception import BaseException from src.exceptions.exception_handlers import (auth_exception_handler, @@ -22,6 +23,10 @@ app = FastAPI(title="SignDataCollector", version="0.0.1") async def on_startup(): await init_db() + # run migrations + await run_migrations() + + class AuthSettings(BaseModel): """AuthSettings model""" diff --git a/backend/src/database/alembic.py b/backend/src/database/alembic.py new file mode 100755 index 0000000..2a3bd75 --- /dev/null +++ b/backend/src/database/alembic.py @@ -0,0 +1,8 @@ +from alembic import command +from alembic.config import Config + + +async def run_migrations(): + alembic_cfg = Config("alembic.ini") + await command.upgrade(alembic_cfg, "head") + diff --git a/backend/src/database/engine.py b/backend/src/database/engine.py index 5fa094a..89054a5 100644 --- a/backend/src/database/engine.py +++ b/backend/src/database/engine.py @@ -16,7 +16,6 @@ def _custom_json_serializer(*args, **kwargs) -> str: """ return json.dumps(*args, default=pydantic.json.pydantic_encoder, **kwargs) -print(settings.DB_USE_SQLITE) # check if the engine must be created for the tests -> in memory sqlite if settings.TEST_MODE: engine = create_async_engine(