亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Flask SQLAlchemy 反射忽略了 Redshift 上的大部分表

Flask SQLAlchemy 反射忽略了 Redshift 上的大部分表

慕哥9229398 2023-05-23 16:45:30
我正在創建引擎和元數據如下engine = create_engine('redshift+psycopg2://USER:PASS.region.com:5439/DBNAME')metadata = MetaData(schema='SCHEMA')metadata.reflect(engine, only=['orders', 'packages'])Base = automap_base(metadata=metadata)Base.prepare()print(Base.classes.packages)產量AttributeError: packages,并且dir(Base.classes)不返回具有該名稱的屬性,也不返回具有該orders名稱的屬性。取下only=['orders', 'packages']使其僅反映幾個隨機表。現在,當使用原生 SQLAlchemy 附帶的檢查器時,該表實際上可以工作(文檔鏈接):insp = reflection.Inspector.from_engine(engine)print(insp.get_table_names(schema='SCHEMA')) #this prints all tables as expectedpackages_table = Table('packages', metadata)insp.reflecttable(packages_table, None) #this reflects the table as expected這是一個錯誤,還是我在這里忽略了什么?謝謝!安裝包版本:alembic                1.4.2Flask                  1.1.2Flask-Migrate          2.5.3Flask-SQLAlchemy       2.4.4psycopg2               2.8.5SQLAlchemy             1.3.18sqlalchemy-redshift    0.8.1
查看完整描述

1 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

SQLAlchemy 的自動映射擴展僅反映已定義主鍵的表。

從文檔中的說明:

[...] 要映射的表,它必須指定一個主鍵。


查看完整回答
反對 回復 2023-05-23
  • 1 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號