我有這個類,我用它來創建和管理一個SQLite數據庫:PyQt,SQLAlchemy - 哪些會話適合?
def __init__(self, db_file = None, parent = None):
self.db = None
self.db_connection = None
self.db_file = str(db_file)
def db_open(self):
self.db = create_engine('sqlite:///' + self.db_file)
self.db_connection = self.db.connect()
def db_close(self):
self.db_connection.close()
def db_create_voltdrop(self):
metadata = MetaData()
tb_cable_brands = Table('cable_brands', metadata,
Column('id', Integer, primary_key=True),
Column('brand', String)
)
tb_cable_types = Table('cable_types', metadata,
Column('id', Integer, primary_key=True),
Column('brand_id', None, ForeignKey('cable_brands.id')),
Column('type', String),
Column('alpha', String)
)
tb_cable_data = Table('cable_data', metadata,
Column('id', Integer, primary_key=True),
Column('type_id', None, ForeignKey('cable_types.id')),
Column('size', String),
Column('resistance', Float)
)
metadata.create_all(self.db)
我實例化這個類我的主窗口打開時,使用DB和關閉數據庫的程序退出時。
我剛開始學習SQLAlchemy。該代碼工作正常。然後我遇到了SQLAlchemy中的會話,這些會話也用於創建和管理數據庫。哪種方法更好?會議對上述方式有什麼優勢?謝謝。