我很好地搞砸了版本控制并删除了一堆文件,包括迁移。我尝试然后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?
答案 0 :(得分:1)
好吧,有两种方法可以摆脱那些丢失的迁移文件。
一个是运行以下命令:
rake db:migrate:reset db:seed
这将完全删除您的数据库,重新运行所有迁移,并运行种子(如果有的话)。
其次是运行以下查询,并直接删除您不想看到的丢失的迁移文件。
DELETE FROM `schema_migrations` WHERE version='<MIGRATION_ID>';