带有 Pony ORM 的 Postgres 模式

Postgres schemas with Pony ORM

如何select在 PonyORM 中使用哪个 postgres 模式?

我尝试使用仅对一个名为 "test1" 的架构具有权限的角色登录,但它将我连接到 public 架构。所以,我删除了 public 模式,然后它给了我一个错误:

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

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

首先是指定您的连接

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 = ...