2017-04-17 42 views
0

一個SQL Server數據庫的運行我的代碼很簡單:SQLAlchemy的 - 不能反映在Amazon RDS

app = Flask(__name__) 
app.config.from_object('config') 

db = SQLAlchemy(app) 
db.metadata.reflect() 

而且它不引發錯誤。但是,當我在此反射後檢查元數據時,它會返回一個空的不可變對象。

我的連接字符串中的參數是100%正確的,代碼可用於非RDS數據庫。

seems to happen to others as well但我找不到解決方案。

另外,我還試圖限制使用在metadata.reflect功能的「唯一」參數反映到具體的表,這是我得到的錯誤:

sqlalchemy.exc.InvalidRequestError: Could not reflect: requested table(s) not available in mssql+pyodbc://{connection_string}: (users) 

回答

0

我已經固定它。 SQLAlchemy類的reflect()方法有一個名爲'schema'的參數。設置這個參數,在我的情況下,「dbo」,解決了它。

我正在使用Flask-SQLAlchemy,它的reflect()方法中沒有上述參數。您可以按照this post訪問該參數及其他參數,例如'only'。