def get_tenant_session(tenant_name):
    if tenant_name not in get_known_tenants():
        return None
    prepare_bind(tenant_name)
    engine = db.get_engine(current_app, bind=tenant_name)
    session_maker = db.sessionmaker()
    session_maker.configure(bind=engine)
    session = session_maker()
    return session
Example #2
0
 def check_database():
     try:
         binds = current_app.config['SQLALCHEMY_BINDS'].keys()
         for bind in binds:
             engine = db.get_engine(current_app, bind)
             engine.connect()
         return True
     except:
         return False
Example #3
0
def create_table():
    DB_META = sqlalchemy.MetaData()
    USER_TABLE_DEFINITION = sqlalchemy.Table(
       'users', DB_META,
       sqlalchemy.Column('id', sqlalchemy.Integer, primary_key = True),
       sqlalchemy.Column('username', sqlalchemy.String(100)),
       sqlalchemy.Column('password', sqlalchemy.String(100)),
       sqlalchemy.Column('alias', sqlalchemy.String(100)),
    )
    DB_META.create_all(db.get_engine())
Example #4
0
def create_table():
    DB_META = sqlalchemy.MetaData()
    USER_TABLE_DEFINITION = sqlalchemy.Table(
        'chat_history',
        DB_META,
        sqlalchemy.Column('id', sqlalchemy.Integer, primary_key=True),
        sqlalchemy.Column('chat_id', sqlalchemy.String(100)),
        sqlalchemy.Column('message_id', sqlalchemy.String(100)),
        sqlalchemy.Column('content', sqlalchemy.JSON),
    )
    DB_META.create_all(db.get_engine())