2017-01-02 81 views
0

我正在嘗試使用sqlalchemy在postgres中創建模式。我無法找到通過元數據創建模式的方法的實例,並反映了聲明模式名稱的函數。sqlachemy對模式生成的解釋

conn = db.postgres_db(host, port, database, pass, user) 
postg_meta = sql.MetaData(bind=conn.engine) 
postg_meta.reflect(schema='transactions') 
stat_query = sql.select([sql.distinct(acocunts.c.user_id)] 

這是給我的代碼片段,我試圖弄清楚在何處以及如何架構(「交易」)的定義。我對sqlalchemy和它的一些工作部分的理性是陌生的,所以我希望得到一些幫助。

這是否可以引用具有模式定義的外部類的文件?

謝謝。

回答

1

Postgres的概念是schema,它在數據庫和表格之間按層次排序,如database.schema.table

對於Postgres和其他數據庫,SQLAlchemy支持schemas這一概念。

由於您執行的是reflection,因此隱含此數據庫中存在此模式已存在。這就是schema關鍵字所指的內容。

您可以confirm,它是此通過列出所有的模式在你的數據庫的情況下:

select schema_name 
from information_schema.schemata