sql >> データベース >  >> RDS >> PostgreSQL

Sqlalchemyは、添付された複数のSQLiteデータベースファイルでうまく機能しますか?

    from sqlalchemy import create_engine, MetaData, Table,Column,Integer,select
    from sqlalchemy.orm import mapper, sessionmaker
    from sqlite3 import dbapi2 as sqlite
    from sqlalchemy.engine.reflection import Inspector
    
    class Bookmarks(object):
        pass
    
    class BookmarksB(object):
        pass
    
    
    
    def loadSession():
        engine = create_engine('sqlite://', echo=True)
        engine.execute("attach database 'database_b' as BB;")
        engine.execute("attach database 'database_a' as AA;")
        metadata = MetaData(engine)
    
    
        inspector = Inspector.from_engine(engine)
        print inspector.get_table_names()
    
        moz_bookmarks = Table('table_a', metadata,Column("id", Integer, primary_key=True),schema='AA', autoload=True)
        mapper(Bookmarks, moz_bookmarks)
        moz_bookmarksB = Table('table_b', metadata,Column("id", Integer, primary_key=True),schema='BB', autoload=True)
        mapper(BookmarksB, moz_bookmarksB)
    
        Session = sessionmaker(bind=engine)
        session = Session()
        return session
    
    if __name__ == "__main__":
        session = loadSession()
        res = session.query(Bookmarks).all()
        for m in res:
            print m.msisdn,m.id
    
        #print list(select([moz_bookmarks, moz_bookmarksB], moz_bookmarks.c.b_id == moz_bookmarksB.c.id).execute())
    



    1. エラー集計関数を回避する方法はWHEREでは許可されていません

    2. Mysqlクエリ-join/unionなどを使用

    3. ec2 bitnamiで(2002、ソケット'/tmp/mysql.sock'(2)を介してローカルMySQLサーバーに接続できない)を修正する方法は?

    4. Oracleシーケンスキャッシング