如何选择在 PonyORM 中使用的 postgres 模式?
我尝试使用仅对一个名为“test1”的模式具有权限的角色登录,但它将我连接到公共模式。所以,我删除了公共模式,然后它给了我一个错误:
ProgrammingError: no schema has been selected to create in
LINE 1: CREATE TABLE "customers" (
如何选择在 PonyORM 中使用的 postgres 模式?
我尝试使用仅对一个名为“test1”的模式具有权限的角色登录,但它将我连接到公共模式。所以,我删除了公共模式,然后它给了我一个错误:
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 = ...