我用postgresql db创建了一个新的rails 5应用程序,并修改了数据库。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
我的数据库。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
,但这也不起作用。
有什么建议吗?
我通过从database.yml中删除host: localhost
来工作。现在rails db:migrate RAILS_ENV=test
工作正常