python - 带有 SQLAlchemy 的 Db2,如何指定默认模式

标签 python sqlalchemy db2

我正在尝试将现有的 DB2 数据库映射到新的 Python ORM 对象。 我写了一个非常简单的映射器类:

class Storage(Base):

    __tablename__ = 'T_RES_STORAGE_SUBSYSTEM'        

    id = Column(Integer,primary_key=True,name='SUBSYSTEM_ID')
    name = Column(String(255),name='NAME')
    namealias = Column(String(256),name='NAME_ALIAS')

但是当我尝试映射它时,通过执行查询,它会将 DB2ADMIN.tablename 放在每个查询的前面,这当然会导致错误。如果我通过在其前面加上 TPC.tablename 手动执行查询,那么一切正常。

如何在表定义中指定要使用的架构?

最佳答案

好的,在 mustaccio 的帮助下,我发现在 table_args 中你必须添加 schema:

class Storage(Base):

    __tablename__ = 'T_RES_STORAGE_SUBSYSTEM'
    __table_args__ = {'schema' : 'TPC'}

    id = Column(Integer,primary_key=True,name='SUBSYSTEM_ID')
    name = Column(String(255),name='NAME')
    namealias = Column(String(256),name='NAME_ALIAS')

关于python - 带有 SQLAlchemy 的 Db2,如何指定默认模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21908852/

相关文章:

python - sqlalchemy 编码 - 从其他应用程序访问表

python - 不同模块中的类之间的 Sqlalchemy 关系

sql - 从同一个表中进行多项选择(带 Null)

python - BNF 语法中的 "or", (|)

python - 如何防止 BeautifulSoup 转换实体?

python - Word2Vector值错误: scatter requires x column to be numeric

python - 在 alembic 迁移中插入 Unicode 值

c# - 库列表的 IBM .NET 数据提供程序连接字符串问题

java - 是否可以使用SQL获取分区数据?

python - 两个列表之间的最小对数,有没有更快的方法?