默认情况下,SQLAlchemy 使用公共模式作为 Base。下面是一些代码
self.Base = automap.automap_base()
self.Base.prepare(self.engine, reflect=True)
Session = sessionmaker(bind = self.engine)
self.session = Session()
insp = reflection.Inspector.from_engine(self.engine)
print(insp.get_table_names())
但是这段代码只列出了像这样的公共模式的表
['drs', 'spatial_ref_sys', 'users']
我想处理来自不同模式的所有表。而不仅仅是公开的那个。有什么好方法可以轻松完成这项工作吗?
更新 1: 这是具有类似问题但具有声明性案例的类似示例
我遇到了同样的问题。就我而言,我只是没有为第二个模式设置主键。由于 auto_map 无法在没有主键的情况下映射表,因此它没有向我显示第二个模式中的表。