带有 Pony ORM 的 Postgres 模式

Posted

技术标签:

【中文标题】带有 Pony ORM 的 Postgres 模式【英文标题】:Postgres schemas with Pony ORM 【发布时间】:2018-02-13 17:38:34 【问题描述】:

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

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

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

【问题讨论】:

dba.stackexchange.com/questions/106057/… 【参考方案1】:

您可以通过两种可能的方式做到这一点。

首先是指定你的连接

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

【讨论】:

以上是关于带有 Pony ORM 的 Postgres 模式的主要内容,如果未能解决你的问题,请参考以下文章

Pony (ORM) 如何使用它的技巧?

Django ORM 类似于 Pony ORM 中的选择查询

带有 Postgres 的 ASP.NET MVC; ORM 推荐?

带有 Redshift 的 Postgres 外部模式:我可以使用外部数据包装器吗?

带有时区的时间戳,使用 django ORM 未知

带有 postgres 的 Django 的非关系数据库模式