[英]Db2 with SQLAlchemy, how to specify default schema
I'm trying to map an existing DB2 database to new python ORM objects. 我正在尝试将现有的DB2数据库映射到新的python ORM对象。 I wrote a very simple mapper class:
我写了一个非常简单的mapper类:
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')
But when I try to map it, by executing a query it puts the DB2ADMIN
.tablename in front of every query, which of course lead to errors. 但是,当我尝试映射它时,通过执行查询,它将
DB2ADMIN
.tablename放在每个查询的前面,这当然会导致错误。 If I execute the query manually by prepending TPC
.tablename to it, then everything works without issues. 如果我通过在
TPC
.tablename前面添加查询来手动执行查询,则一切正常。
How can I specify in a table definition which schema to use? 如何在表定义中指定要使用的架构?
Ok so after the help of mustaccio, I found out that in the table_args
you have to add schema
: 好了,在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')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.