You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

25 lines
963 B
Python

from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from flask import current_app
import os
engine = None
db_session = scoped_session(sessionmaker(autocommit=False,
autoflush=False,
bind=engine))
Base = declarative_base()
Base.query = db_session.query_property()
def init_db():
DATABASE_URL = current_app.config['SQLALCHEMY_DATABASE_URI']
print("inside init_db, database_url : " + str(DATABASE_URL))
engine = create_engine(DATABASE_URL, pool_size=10, max_overflow=20)
db_session.configure(bind=engine)
# import all modules here that might define models so that
# they will be registered properly on the metadata. Otherwise
# you will have to import them first before calling init_db()
from . import models
Base.metadata.create_all(bind=engine)