首页 > 解决方案 > 迁移 ID 为 0000 的无文件

问题描述

我的迁移有问题。它返回给我:

database: THP_POS_development

 Status   Migration ID    Migration Name
--------------------------------------------------
   up     000             ********** NO FILE **********
   up     20191202102702  Devise create users

请帮助我;)我只想用迁移 000 删除迁移无文件,因为我在一个应用程序项目中工作,如果我有这个问题,我可以在 gitHub 上推送我的作品。这次迁移将被推动

标签: ruby-on-railsrubyfilemigration

解决方案


如果这仅在您的开发机器上,有几个选项:

1) 使用当前迁移删除数据库并重新创建它。采取以下步骤

rake db:drop 
rake db:create 
rake db:migrate 

这将仅使用当前迁移重新创建数据库,就像一个全新的启动一样,并且由于000迁移文件已经消失,它不会被重新创建。

2)回滚所有迁移,从您的列表中只有两个,然后再次运行迁移

 rake db:rollback STEP=2
 rake db:migrate 

这与前一个选项几乎相同,我想这取决于您需要如何回滚迁移以查看哪个最简单。

仅当尚未部署版本为“000”的迁移或尚未由您的其他开发人员迁移(在团队中工作时)时,这些才有效。如果这种情况,我会考虑以下选项:

  • 将所有迁移压缩为一个(例如从迁移中加载模式文件)
  • 使用缺少的编号创建一个新的迁移文件并...恢复它之前包含的内容(即使它是空的?)

推荐阅读