[英]sqlalchemy empty schema and no tables
我正在尝试通过数据库优先方法使用 sqlalchemy 并为现有数据库结构生成模型。 db 是标准的 SQLServer(express)。
我可以连接到我的数据库并通过以下方式查询它
from sqlalchemy import create_engine, MetaData, Table
from sqlalchemy.orm import scoped_session, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
__connectionString = "DSN=databaseDSN;Trusted_Connection=yes"
db_engine = create_engine('mssql+pyodbc:///?odbc_connect=%s' % __connectionString, echo=True)
db_session = scoped_session(sessionmaker(bind=db_engine))
result = db_session.execute("SELECT * FROM debug.BasicTable")
for row in result.fetchmany(10):
print(row)
当我尝试反映下面的数据库结构时,我看不到任何实际表,并且以下内容引发了 NoSuchTableError
myTable= Table('debug.BasicTable', meta, autoload=True, autoload_with=db_engine)
来自通用教程http://pythoncentral.io/sqlalchemy-faqs/
我应该能够反映表格对象
Base = declarative_base()
Base.metadata.reflect(db_engine)
meta = MetaData()
meta.reflect(bind=db_engine)
但是 meta.tables 中根本没有表对象。
这是因为debug.BasicTable
最有可能不是您的表的名称。 您的表的名称是BasicTable
而debug
是它的架构。 所以:
Table('BasicTable', meta, schema="debug", autoload=True, autoload_with=db_engine)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.