在Rails中,如果我创建&运行迁移,用于向表中添加一个新列,然后,该表将在开发数据库中有一个新列。
但是,测试数据库如何更新/注意到表中有新列?我是否需要从控制台明确切换到测试环境并在测试环境中再次运行迁移?
答案 0 :(得分:3)
您可以显式运行rake db:test:prepare
,它实际上只是从开发模式构建一个新的测试数据库(因此它不运行迁移,但是从当前开发创建一个副本模式)。
使用rake test
或rake spec
运行所有测试时,这会自动完成。
希望这有帮助。
答案 1 :(得分:2)
在开发数据库上完成迁移后尝试bundle exec rake db:test:prepare
。
答案 2 :(得分:0)
我最终选择运行以下命令,该命令只在测试环境中运行迁移。
RAILS_ENV='test' rake db:migrate