sqlachemy对模式生成的解释

时间:2017-01-02 11:19:46

标签: postgresql sqlalchemy

我正在尝试使用sqlalchemy在postgres中创建一个架构。我找不到通过MetaData创建模式的方法的工作示例,并反映了一个声明模式名称的函数。

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)]

这是给我的代码片段,我试图澄清架构('transactions')的定义位置和方式。我是sqlalchemy的新手和一些工作的理性,所以我很感激一些帮助。

这是否可以引用具有定义架构的外部类的文件?

感谢。

1 个答案:

答案 0 :(得分:1)

Postgres具有schema的概念,它在数据库和表格database.schema.table之间按层次排序。

SQLAlchemy支持Postgres和其他数据库的schemas概念。

由于您执行了reflection,因此隐含的是此架构已经存在于您的数据库中。这是schema关键字所指的内容。

您可以confirm通过列出数据库中的所有模式来实现这种情况:

select schema_name
from information_schema.schemata