Postgres模式与Pony ORM

时间:2018-02-13 17:38:35

标签: python postgresql orm ponyorm

如何选择在PonyORM中使用哪种postgres架构?

我尝试使用只有一个名为“test1”的架构的权限的角色登录,但它将我连接到公共架构。所以,我删除了公共架构,然后它给了我一个错误:

 ProgrammingError: no schema has been selected to create in
 LINE 1: CREATE TABLE "customers" (

1 个答案:

答案 0 :(得分:2)

您可以通过两种可能的方式进行操作。

首先是指定您的连接

db = Database()
... # models definition
pg = dict(
    provider='postgres', 
    user='username', 
    password='pwd', 
    host='localhost', 
    database='db', 
    options='-c search-path=SCHEMA NAME') # here you specify default schema
db.bind(**pg)
db.generate_mapping(create_tables=True)

第二个是为实体指定_table_选项

class Person(db.Entity):
    _table_ = ('schemaname', 'tablename')
    attribute = ...