#ruby-on-rails #rspec
Вопрос:
У меня есть ActiveRecord::Migration.maintain_test_schema!
строка в файле rails_helper.rb, которая выдает ошибку ActiveRecord::pendingmigration, если в тестовой среде ожидаются некоторые миграции. Однако, когда я запускаюсь rails db:migrate RAILS_ENV=test
после появления ошибки, он пытается запустить все миграции с нуля, что приводит к Relation table_name already exists
ошибке, а не к выполнению отдельных миграций. Когда я проверяю статус миграции, он говорит Schema migrations table does not exist yet.
, что каким-то образом ActiveRecord::Migration.maintain_test_schema!
выгружает таблицу миграции схемы, когда она должна быть загружена?
Если я выполню тестовые миграции перед запуском RSpec, и он попадет в maintain_test_schema
«все в порядке». Также вышеуказанная проблема решается путем запуска rails db:migrate:reset RAILS_ENV=test
, но мне действительно любопытно, что вызывает ее в первую очередь.
Комментарии:
1. Вы нашли какое-нибудь решение?
2. @AniketShivamTiwari Нет, просто пользуюсь
rails db:migrate RAILS_ENV=test
сейчас