Схемы Postgres с Pony ORM

Как я могу выбрать, какую схему postgres использовать в PonyORM?

Я пытался войти в систему с ролью, которая имеет разрешение только на одну схему под названием «test1», но она подключает меня к общедоступной схеме. Итак, я удалил общедоступную схему, после чего она выдала мне ошибку:

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

person Krogiar    schedule 13.02.2018    source источник
comment
dba.stackexchange.com/questions/106057/   -  person mVChr    schedule 13.02.2018


Ответы (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 = ...
person sashaaero    schedule 03.08.2018