import os import glob import time # import mysql.connector from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from sqlalchemy.ext.declarative import declarative_base from flask_sqlalchemy import SQLAlchemy from app.settings import app_cfg # connection_url = "mysql+mysqlconnector://{}:{}@{}/{}?charset=utf8mb4".format( # os.getenv("DB_USER"), # os.getenv("DB_PASS"), # os.getenv("DB_HOST"), # os.getenv("DB_NAME") # ) os.makedirs(app_cfg.DIR_DATABASE, exist_ok=True) connection_url = "sqlite:///{}".format(os.path.join(app_cfg.DIR_DATABASE, 'animism.sqlite3')) engine = create_engine(connection_url, encoding="utf-8", pool_recycle=3600) Session = sessionmaker(bind=engine) Base = declarative_base() Base.metadata.bind = engine db = SQLAlchemy() # include the models in reverse dependency order, so relationships work from app.sql.models.annotation import Annotation from app.sql.models.paragraph import Paragraph from app.sql.models.upload import Upload from app.sql.models.media import Media from app.sql.models.episode import Episode from app.sql.models.venue import Venue