我正在尝试使用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的新手和一些工作的理性,所以我很感激一些帮助。
这是否可以引用具有定义架构的外部类的文件?
感谢。
答案 0 :(得分:1)
Postgres具有schema的概念,它在数据库和表格database.schema.table
之间按层次排序。
SQLAlchemy支持Postgres和其他数据库的schemas概念。
由于您执行了reflection,因此隐含的是此架构已经存在于您的数据库中。这是schema
关键字所指的内容。
您可以confirm通过列出数据库中的所有模式来实现这种情况:
select schema_name
from information_schema.schemata