Запуск миграций добавляет открытую схему к операторам CREATE в structure.sql - PullRequest
0 голосов
/ 27 июня 2018

При запуске $ rails db:migrate, независимо от того, были ли какие-либо миграции добавлены или нет, struct.sql изменяет удаление SET search_path = public, pg_catalog; и заменяет его на SELECT pg_catalog.set_config('search_path', '', false);, затем добавляя public. к каждому CREATE выражению.

Пример:

CREATE FUNCTION round_minutes(timestamp without time zone, integer) RETURNS timestamp without time zone

становится:

CREATE FUNCTION public.round_minutes(timestamp without time zone, integer) RETURNS timestamp without time zone

Использование:

  • PostgresSQL v10.4
  • Рельсы 5.2.0

Похоже, что проблема затрагивает тех из нас, кто использует версию Postgres выше 9.6.5

Есть ли способ настроить Postgres, чтобы не делать этого?

1 Ответ

0 голосов
/ 10 октября 2018

В Postgresql была обнаружена уязвимость , исправленная в марте 2018 года.

Если вы используете Postgresql версии 10.3, 9.6.8, 9.5.12, 9.4.17, 9.3.22 или более поздней версии, тогда он будет указывать схему пульса в ссылках таблицы и устанавливать pg_catalog search_path.

Возможно, кто-то в вашей команде использует более старую версию Postgresql, что приводит к возвращению структуры.sql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...