我创建了以下迁移:
class AddTokenToRegionTriggers < ActiveRecord::Migration[5.0]
def change
add_column :region_triggers, :token, :string
add_index :region_triggers, :token, unique: true
end
end
有一个名为region_triggers
的表格。我尝试运行rake db:migrate:up VERSION=123
,但它没有做任何事情。输出是:
Enabling Bootsnap
Model files unchanged.
当我运行rake db:migrate:redo VERSION=123
时,它说No indexes found on region_triggers with the options provided.
。
如何让rails添加列和索引?
答案 0 :(得分:1)
你从哪里获得版本号?您是否使用rails g migration
创建了迁移文件?
如果是这样,它会创建一个迁移文件,其版本号前缀为模型名称,所以(例如)
rails g migration AddTokenToRegionTriggers
会生成
20180501113025_add_token_to_region_triggers.rb
该初始数字字符串是版本号。要迁移到该版本,您可以执行
rake db:migrate:up VERSION=2018051113025
如果您没有以后的迁移,您可以这样做......
rake db:migrate