我遇到了一个运行ruby 2.4.1p111 (2017-03-22 revision 58053)的Rails 5.1.2的问题,每次我运行迁移时,它都会将测试数据库置于不可能运行测试的状态,并且要使测试数据库和开发数据库都处于工作状态,必须按以下顺序运行以下迁移命令:
rails db:drop
rails db:migrate RAILS_ENV=test
rails db:migrate
rails db:seed发布于 2017-08-16 13:44:19
导致此问题的原因是,我在迁移过程中创建了一个表,并尝试在我重命名的列上创建和索引,因此在模式中出现了null索引,显然开发数据库可以处理这一问题,但测试数据库不能在没有涉及数据库迁移方式的情况下处理这些问题
为了让开发和测试数据库都工作到我可以运行测试的程度。最后,我在db/schema.rb中找到了现有表中一个空列上的索引,在表创建迁移过程中找到索引命令并清除它是一件相当简单的事情。在此之后,只需使用以下命令即可将数据库恢复为原来的形式
rails db:migrate
rails db:seedhttps://stackoverflow.com/questions/45705867
复制相似问题