我安装了Devise,raked,然后意识到我要添加:确认。
我可以回到相同的初始迁移,只是取消注释掉我想要的帮助,然后再挖掘db:migrate吗?
我尝试了它似乎没有用。但我还没有看到如何创建后续迁移的示例。
谢谢!
这就是我的尝试:
1 class AddConfirmableToUsers < ActiveRecord::Migration
2 def self.up
3 change_table :users do |t|
4 t.confirmable
5 end
6 add_index :users, :confirmation_token, :unique => true
7 end
8
9 def self.down
10 remove_column :users, :confirmation_token
11 end
12
13 end
答案 0 :(得分:4)
您可以自己添加正确的列:
class AddConfirmableToUsers < ActiveRecord::Migration
def self.up
change_table :users do |t|
t.string :confirmation_token
t.datetime :confirmed_at
t.datetime :confirmation_sent_at
end
add_index :users, :confirmation_token, :unique => true
end
def self.down
change_table :users do |t|
t.remove :confirmation_token, :confirmed_at, :confirmation_sent_at
end
remove_index :users, :confirmation_token
end
end
答案 1 :(得分:0)
您的迁移应该有效。您是否检查了User
模型以确保:confirmable
已启用?它默认被注释掉了。
如果你不介意丢失数据,你可以这样做
> rake db:drop
否则,您只需编辑初始迁移并进行回滚。
# get the current migration version
> rake db:version
> Current version: ****************41
> rake db:rollback ****************40
进行更改
> rake db:migrate