SQLAlchemy ORM 的分区策略与会话操作
1. ORM 分区策略
在使用 ORM 映射对象时,有时需要将对象存储在多个数据库中,SQLAlchemy 提供了垂直分区和水平分区两种策略。
1.1 垂直分区
垂直分区是指将不同的映射类从不同的数据库服务器中检索。以下是一个示例,展示了如何在两个不同的内存 SQLite 数据库中创建 product_table 和 product_summary_table ,并进行相应的操作:
from sqlalchemy import create_engine, MetaData, Table, Column, String, Numeric, Unicode, ForeignKey
from sqlalchemy.orm import mapper, relation, backref, sessionmaker, clear_mappers
# 创建两个数据库引擎
engine1 = create_engine('sqlite://')
engine2 = create_engine('sqlite://')
metadata = MetaData()
# 定义 product_table
product_table = Table(
'product', metadata,
Column('sku', String(20), primary_key=True),
Column('msrp', Numeric)
)
# 定义 product_summary
超级会员免费看
订阅专栏 解锁全文
1478

被折叠的 条评论
为什么被折叠?



