2014-12-03 2 views
1

Итак, я сделал глупую ошибку вручную удалить файлы миграции из моего проекта.Как удалить недостающие миграции из проекта?

Они все еще показывают в db:migrate:status, но я не в состоянии rollback или destroy их без создания новых пустых файлов с MigrationID_somename, а затем запустить уничтожить на этих шаблонных файлов.

Есть ли лучший способ забыть пропущенные файлы миграции?

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) 

ответ

4

Вы могли бы просто использовать клиент базы данных и удалять строки из таблицы schema_migrations (если вы обещаете никогда не делать это снова;).

+1

Мне, к сожалению, пришлось это сделать раньше. – sevenseacat

Смежные вопросы