2016-08-29 3 views
1

Я пишу приложение с Knex, книжной полкой и Postgres. Я хотел бы, чтобы все команды Postgres, выпущенные из моего приложения, были на таблицах в одной схеме. Есть ли способ, которым я могу выполнить это без указания .withSchema('my_schema_name') для каждого отдельного запроса/команды?Knex/Bookshelf: Как использовать схему Postgres во всех запросах/командах

В идеале я мог бы указать схему в файле knexfile.js, но я не вижу способа сделать это.

Я уже пробовал: 'my_schema_name'

  • предваряя имя таблицы с
  • выдачи команды USE SCHEMA при запуске моего приложения

Оба эти привели к различным ошибкам.

+0

Связанная проблема с книжной полкой: https://github.com/tgriesser/bookshelf/issues/458 – nephets

ответ

0

Решение было на самом деле притворяться, что имя таблицы «my_schema». (Обратите внимание на точку)

Ошибка, которую я видел, когда я пробовал это изначально, был из-за чего-то еще.

0

После инициализации ваше соединение должно быть вызвано SET search_path TO my_schema, public;. Это свойство соединения (сеанса), и оно должно делать то, о чем вы просите.

Смежные вопросы