Rails破坏模型而不删除迁移

时间:2014-02-19 23:29:00

标签: ruby-on-rails ruby database ruby-on-rails-3

我最初有一个名为CreateUsers的迁移,它已经有一个表。

由于我的愚蠢,我认为我必须做一个rails生成迁移,以便向表中添加索引。当我进行迁移时,就是这样:

rails generate migration CreateUsers years:integer

因此它使用时间戳创建迁移,依此类推,我尝试使用此

删除
 rails d migration migration_filename

它给我一些关于此

的错误
/Users/giowong/.rvm/gems/ruby-2.0.0-p353/gems/activerecord-4.0.2/lib/rails/generators/active_record/migration/migration_generator.rb:57:in `validate_file_name!': Illegal name for migration file: 20140219230444_create_create_users.rb (ActiveRecord::IllegalMigrationNameError)

在schema.rb表中,stll存在

我应该手动删除两者吗?

1 个答案:

答案 0 :(得分:1)

您不希望针对文件名运行rails d,而是针对生成中的迁移名称。

尝试:rails d migration CreateUsers

要删除该表,您还需要rollback您的迁移:

rake db:rollback STEP=1

STEP=1假设这是最后一次迁移。如果您在应用中使用捆绑包,则可能还需要添加bundle exec