From 7dbce117c868fb6651ac9eb58e1cf434884e4644 Mon Sep 17 00:00:00 2001 From: Conrad Date: Sun, 24 Nov 2024 18:01:45 +0100 Subject: [PATCH] feat: added common database helper --- creyPY/fastapi/db/__init__.py | 3 ++- creyPY/fastapi/db/helpers.py | 8 ++++++++ requirements.txt | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 creyPY/fastapi/db/helpers.py diff --git a/creyPY/fastapi/db/__init__.py b/creyPY/fastapi/db/__init__.py index 395efc9..94b32a2 100644 --- a/creyPY/fastapi/db/__init__.py +++ b/creyPY/fastapi/db/__init__.py @@ -1,2 +1,3 @@ +from .async_session import * # noqa +from .helpers import * # noqa from .session import * # noqa -from .async_session import * # noqa diff --git a/creyPY/fastapi/db/helpers.py b/creyPY/fastapi/db/helpers.py new file mode 100644 index 0000000..864ec4b --- /dev/null +++ b/creyPY/fastapi/db/helpers.py @@ -0,0 +1,8 @@ +from sqlalchemy_utils import create_database, database_exists + + +def create_if_not_exists(db_name: str): + from .common import SQLALCHEMY_DATABASE_URL + + if not database_exists(SQLALCHEMY_DATABASE_URL + db_name): + create_database(SQLALCHEMY_DATABASE_URL + db_name) diff --git a/requirements.txt b/requirements.txt index 4183694..3401b77 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,6 +11,7 @@ starlette>=0.37.2 # FastAPI fastapi-pagination>=0.12.26 # Pagination sqlalchemy>=2.0.31 # SQLAlchemy +sqlalchemy-utils==0.41.2 # For managing databases python-dotenv>=1.0.1 # Environment variables