Rails 5测试数据库与开发不同步

时间:2017-08-16 05:44:19

标签: ruby-on-rails ruby ruby-on-rails-5.1

我遇到Rails 5.1.2运行ruby 2.4.1p111 (2017-03-22 revision 58053)的问题,每次运行迁移时,它都会将测试数据库置于运行测试的状态,并且无法获取测试数据库和开发数据库进入它们都工作的状态,必须按以下顺序运行以下迁移命令:

rails db:drop
rails db:migrate RAILS_ENV=test
rails db:migrate
rails db:seed

1 个答案:

答案 0 :(得分:0)

这个问题是因为我有一个迁移创建一个表,并尝试在我重命名的列上创建和索引,因此[null]上的索引出现在模式中,显然开发数据库可以处理,但测试数据库不能没有涉及迁移数据库的一些恶作剧

为了让dev和测试DB工作到我可以运行测试的程度。最后,我在db/schema.rb中的现有表中的空列上追踪索引,在表创建迁移中找到索引命令并将其擦除是一件相当简单的事情。之后,只需

即可将数据库恢复原状
rails db:migrate
rails db:seed