Ruby on rails 3 如何在初始创建表之后添加要设计的列?

Ruby on rails 3 如何在初始创建表之后添加要设计的列?,ruby-on-rails-3,devise,Ruby On Rails 3,Devise,我安装了Desive,翻了翻,后来才意识到,我想加上一句:confirmatible 我是否可以返回到相同的初始迁移,只需取消注释我想要的helper,然后再次rake db:migrate 我试过了,但似乎不起作用。但我还没有看到如何创建后续迁移的示例 谢谢 这就是我所尝试的: 1 class AddConfirmableToUsers < ActiveRecord::Migration 2 def self.up 3 change_table :users

我安装了Desive,翻了翻,后来才意识到,我想加上一句:confirmatible

我是否可以返回到相同的初始迁移,只需取消注释我想要的helper,然后再次rake 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 
1类AddConfirmableToUserstrue
7结束
8.
9 def自动关闭
10删除列:用户,:确认\u令牌
11完
12
13完

您的迁移应该可以正常工作。您是否检查了
用户
型号以确保启用了
:confirmable
?默认情况下,它被注释掉了

如果你不介意丢失数据,你可以这样做

> rake db:drop
否则,您可以编辑初始迁移并执行回滚

# get the current migration version
> rake db:version
> Current version: ****************41
> rake db:rollback ****************40
做些改变

> rake db:migrate

您可以自己添加适当的列,如下所示:

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
class AddConfirmableToUserstrue
结束
def自动关闭
更改表格:用户不更改|
t、 删除:确认\u令牌,:确认\u在,:确认\u发送\u在
结束
删除索引:用户,:确认\u令牌
结束
结束

好的,我不知道该怎么做,但我想这就是我要找的……我使用了如上所述的帮助程序,是否也可以?我认为使用帮助程序会起作用,但我从未真正尝试过。