Как запустить db:migrate для тестовой базы данных в Rails 5?
Я создал новое приложение rails 5 с postgresql db и изменил файл database.yml. Я успешно создал базы данных для разработки и тестирования, но при выполнении миграций обновляется только база данных разработки, а база данных тестирования остается без изменений.
Вот список команд, которые я использовал:
rails db:create # Created both development and test
rails db:migrate # Migrated only to development
rails db:migrate RAILS_ENV=test # Does nothing (no error output)
rake db:migrate RAILS_ENV=test # Same result as above
Мой файл database.yml:
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
development:
<<: *default
database: myapp_development
username: myapp_admin
password:
host: localhost
port: 5432
test:
<<: *default
database: myapp_test
username: myapp_admin
password:
host: localhost
port: 5432
Я также попытался добавить ActiveRecord::Migration.maintain_test_schema!
в test_helper.rb
но это тоже не сработало.
Какие-либо предложения?
1 ответ
Решение
Я получил его на работу, удалив host: localhost
из базы данных. Сейчас rails db:migrate RAILS_ENV=test
работает отлично.