31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
import os
|
|
|
|
class Config:
|
|
SECRET_KEY = os.environ.get('SECRET_KEY', 'you-will-never-guess')
|
|
DB_TYPE = os.environ.get('DB_TYPE', 'sqlite').lower() # 'sqlite' or 'postgresql'
|
|
|
|
if DB_TYPE == 'postgresql':
|
|
DB_USER = os.environ.get('DB_USER', 'postgres')
|
|
DB_PASS = os.environ.get('DB_PASS', 'postgres')
|
|
DB_HOST = os.environ.get('DB_HOST', 'localhost')
|
|
DB_PORT = os.environ.get('DB_PORT', '5432')
|
|
DB_NAME = os.environ.get('DB_NAME', 'postgres')
|
|
|
|
SQLALCHEMY_DATABASE_URI = (
|
|
f'postgresql://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{DB_NAME}'
|
|
)
|
|
|
|
elif DB_TYPE == 'sqlite':
|
|
BASEDIR = os.path.abspath(os.path.dirname(__file__))
|
|
DB_NAME = os.environ.get('DB_NAME', 'app.db')
|
|
SQLALCHEMY_DATABASE_URI = f'sqlite:///{os.path.join(BASEDIR, DB_NAME)}'
|
|
|
|
else:
|
|
raise ValueError(f"Unsupported DB_TYPE '{DB_TYPE}'. Use 'sqlite' or 'postgresql'.")
|
|
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
|
|
|
CELERY_BROKER_URL = 'redis://localhost:6379/0'
|
|
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
|
|
|