Rails迁移回滚错误 - 如何更新架构?

时间:2015-06-09 20:57:30

标签: ruby-on-rails rails-activerecord

我很好地搞砸了版本控制并删除了一堆文件,包括迁移。我尝试然后rails生成具有相同名称的文件,但后来得到(错误,记录已经存在)。我意识到表必须已经存在于数据库中。

如果我运行rake db:migrate:status,我会收到以下信息:

up     20150426172505  Remove columns from businesses categories sub categories
up    20150426172902  Change pdf name
up     20150520193556  ********** NO FILE **********
up     20150520194841  ********** NO FILE **********
up     20150527194215  ********** NO FILE **********

如何摆脱缺少的迁移并使架构使用20150426172902?

1 个答案:

答案 0 :(得分:1)

好吧,有两种方法可以摆脱那些丢失的迁移文件。

一个是运行以下命令:

rake db:migrate:reset db:seed

这将完全删除您的数据库,重新运行所有迁移,并运行种子(如果有的话)。

其次是运行以下查询,并直接删除您不想看到的丢失的迁移文件。

DELETE FROM `schema_migrations` WHERE version='<MIGRATION_ID>';