我最初有一个名为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存在
我应该手动删除两者吗?
答案 0 :(得分:1)
您不希望针对文件名运行rails d
,而是针对生成中的迁移名称。
尝试:rails d migration CreateUsers
要删除该表,您还需要rollback
您的迁移:
rake db:rollback STEP=1
STEP=1
假设这是最后一次迁移。如果您在应用中使用捆绑包,则可能还需要添加bundle exec
。