我该如何在 rake db:migrate:status 中删除带有 "** NO FILE **" 的迁移 ID 列表?例如:
Status Migration ID Migration Name
--------------------------------------------------
up 20131017204224 Create users
up 20131218005823 ********** NO FILE **********
up 20131218011334 ********** NO FILE **********
我不理解为什么手动删除迁移文件后,它仍然会保留旧版本的迁移文件。这是为了备案吗?但是如果没有与之相关的名称,它有什么用处呢?
我尝试使用db:migrate:down命令来处理这些文件,但是它显示文件不存在。我不知道该怎么办。
可以有人解释一下如何删除此列表,以及为什么会出现这种情况的一些见解吗?
rake db:schema:dump
rake db:schema:load
但是没有文件列表。我还猜想它是一种 ActiveRecord::Schema 方法,可以删除数据库中的特定版本? - Jayschema_migrations
表中删除一个迁移编号,那么在删除文件之前,只需运行rake db:rollback
来回滚迁移即可。 - spickermannrake db:rollback
命令之前,我已经删除了该文件怎么办? - Jay