Какие грабли в Rails 5 нужны для загрузки структуры.sql в тестовой среде? - PullRequest
1 голос
/ 23 апреля 2019

В нашем приложении есть схема базы данных, которая зависит от базы данных, и мы хотели бы загрузить эти функции БД в тестовую базу данных.

В частности, нам необходимо создать материализованные представления в базе данных Postgres.

Я попытался сбросить structure.sql в папку db, а затем надеялся, что RAILS_ENV=test rake db:structure:load, за которым следует rake spec (начиная с чистой БД без схем), заставит тестовую БД иметь представление.

Однако я должен был явно вызвать создание представления в моем тестовом файле, чтобы тесты работали.Эта ошибка была ошибкой Postgres, говорящей просто о том, что представления / таблицы там не было.

Излишне говорить, что представление находится в БД разработки, и код действительно работает.Это просто модульный тест на сервисном объекте, который извлекает данные представления, которые не работают.

РЕДАКТИРОВАТЬ Я также добавил config.active_record.schema_format(:sql) к config/environments/test.rb

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