После переноса моей базы данных разработки я не могу запустить rails db:test:prepare
.
Мое приложение использует файл db/structure.sql
для обновления тестовой базы данных:
# config/application.rb
config.active_record.schema_format = :sql
Когда я запускаю rails db:migrate
(который также запускается db:structure:dump
), мой db/structure.sql
обновляется. К сожалению, теперь после обновления она содержит строку вверху:
CREATE SCHEMA public;
Это будет бомба при загрузке в базу данных, которая уже содержит схему public
.
Я могу вручную обновить эту строку, и дамп SQL успешно загружается:
CREATE SCHEMA IF NOT EXISTS public;
... но я не хочу делать это каждый раз.
Я ожидаю, что тестовая база данных будет успешно построена из дампа SQL в db/structure.sql
при запуске rails db:test:prepare
, поскольку дамп SQL не должен пытаться создать схему public
.