aboutsummaryrefslogtreecommitdiff
path: root/database.py
blob: 212d423bb74a31f9af5f122e7de067caafb84d88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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 = f"sqlite:///data/{config.SQLITE_NAME}.db"

engine = create_engine(database_url)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Base = declarative_base()