Как запустить 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 работает отлично.

Другие вопросы по тегам