2017-01-02 84 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