В нашем приложении есть схема базы данных, которая зависит от базы данных, и мы хотели бы загрузить эти функции БД в тестовую базу данных.
В частности, нам необходимо создать материализованные представления в базе данных Postgres.
Я попытался сбросить structure.sql
в папку db
, а затем надеялся, что RAILS_ENV=test rake db:structure:load
, за которым следует rake spec
(начиная с чистой БД без схем), заставит тестовую БД иметь представление.
Однако я должен был явно вызвать создание представления в моем тестовом файле, чтобы тесты работали.Эта ошибка была ошибкой Postgres, говорящей просто о том, что представления / таблицы там не было.
Излишне говорить, что представление находится в БД разработки, и код действительно работает.Это просто модульный тест на сервисном объекте, который извлекает данные представления, которые не работают.
РЕДАКТИРОВАТЬ Я также добавил config.active_record.schema_format(:sql)
к config/environments/test.rb