【问题标题】:Rails 5 test database out of sync with developmentRails 5 测试数据库与开发不同步
【发布时间】:2017-08-16 05:44:18
【问题描述】:
我遇到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
【问题讨论】:
标签:
ruby-on-rails
ruby
ruby-on-rails-5.1
【解决方案1】:
这个问题是因为我有一个创建表的迁移,并试图在我重命名的列上创建和索引,所以架构中出现了 [null] 上的索引,显然开发数据库可以处理,但是测试数据库不能没有一些涉及如何迁移数据库的恶作剧
为了让开发数据库和测试数据库都工作到可以运行测试的程度。最终,我在db/schema.rb 中的现有表中跟踪了一个空列的索引,在表创建迁移中找到索引命令并将其清除是一件相当简单的事情。之后,只需
即可将 DB 恢复到原来的形式
rails db:migrate
rails db:seed