Ruby on rails 4 如何从项目中删除丢失的迁移?
因此,我犯了一个愚蠢的错误,从我的项目中手动删除迁移文件 它们仍然显示在Ruby on rails 4 如何从项目中删除丢失的迁移?,ruby-on-rails-4,rails-migrations,Ruby On Rails 4,Rails Migrations,因此,我犯了一个愚蠢的错误,从我的项目中手动删除迁移文件 它们仍然显示在db:migrate:status中,但是如果不使用MigrationID\u somename创建新的空文件,然后在这些占位符文件上运行destroy,我就无法回滚或销毁它们 有没有更好的方法来忘记丢失的迁移文件 me$ rake db:migrate:status database: [...]/db/development.sqlite3 Status Migration ID Migration Na
db:migrate:status
中,但是如果不使用MigrationID\u somename创建新的空文件,然后在这些占位符文件上运行destroy,我就无法回滚
或销毁它们
有没有更好的方法来忘记丢失的迁移文件
me$ rake db:migrate:status
database: [...]/db/development.sqlite3
Status Migration ID Migration Name
--------------------------------------------------
up 20141203044050 ********** NO FILE **********
up 20141203044501 ********** NO FILE **********
me$ rake db:migrate:down VERSION=20141203044501
rake aborted!
ActiveRecord::UnknownMigrationVersionError:
No migration with version number 20141203044501
/Library/Ruby/Gems/2.0.0/gems/activerecord-4.1.6/lib/active_record/migration.rb:932:in `run'
/Library/Ruby/Gems/2.0.0/gems/activerecord-4.1.6/lib/active_record/migration.rb:818:in `run'
/Library/Ruby/Gems/2.0.0/gems/activerecord-4.1.6/lib/active_record/railties/databases.rake:79:in `block (3 levels) in <top (required)>'
Tasks: TOP => db:migrate:down
(See full trace by running task with --trace)
me$rake数据库:迁移:状态
数据库:[……]/db/development.sqlite3
状态迁移ID迁移名称
--------------------------------------------------
截至20141203044050*********无文件**********
截至20141203044501*********无文件**********
me$rake db:migrate:down VERSION=20141203044501
雷克流产了!
ActiveRecord::UnknownMigrationVersionError:
没有版本号为20141203044501的迁移
/Library/Ruby/Gems/2.0.0/Gems/activerecord-4.1.6/lib/active_record/migration.rb:932:in'run'
/Library/Ruby/Gems/2.0.0/Gems/activerecord-4.1.6/lib/active_record/migration.rb:818:in'run'
/Library/Ruby/Gems/2.0.0/Gems/activerecord-4.1.6/lib/active_record/railties/databases.rake:79:in“block(3层)in”
任务:TOP=>db:migrate:down
(通过使用--trace运行任务查看完整跟踪)
您可能只需要使用一个数据库客户端并从schema_migrations表中删除行(如果您承诺不再这样做;)。我以前不得不这么做。SQL行应该是从schema_migrations中删除,其中版本='20141203044501'代码>