ActiveRecord::Миграция.maintain_test_schema! странное поведение

#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 сейчас