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
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
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())
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())