aboutsummaryrefslogtreecommitdiff
path: root/database.py
diff options
context:
space:
mode:
authorParker <contact@pkrm.dev>2025-04-02 18:52:00 -0500
committerParker <contact@pkrm.dev>2025-04-02 18:52:00 -0500
commitb5099937f84e2fb58b69d97b4b8fff17363fe7d9 (patch)
treece0626d12ad3daf9bf2b7c103914bf7411ea245e /database.py
parentae1ac1d731813008682ccba70db0f228b15a72e3 (diff)
First commit. Lots of stuff
Diffstat (limited to 'database.py')
-rw-r--r--database.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/database.py b/database.py
new file mode 100644
index 0000000..1258e42
--- /dev/null
+++ b/database.py
@@ -0,0 +1,21 @@
+from sqlalchemy import create_engine
+from sqlalchemy.ext.declarative import declarative_base
+from sqlalchemy.orm import sessionmaker
+import os
+
+import config
+
+if config.DB_ENGINE == "mysql":
+ database_url = f"mysql+pymysql://{config.DB_USER}:{config.DB_PASSWORD}@{config.DB_HOST}:{config.DB_PORT}/{config.DB_NAME}"
+
+elif config.DB_ENGINE == "postgresql":
+ database_url = f"postgresql+psycopg2://{config.DB_USER}:{config.DB_PASSWORD}@{config.DB_HOST}:{config.DB_PORT}/{config.DB_NAME}"
+
+else:
+ if not os.path.exists("data"):
+ os.makedirs("data")
+ database_url = "sqlite:///data/data.db"
+
+engine = create_engine(database_url)
+SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
+Base = declarative_base()