为rails上的列ruby分配默认值

时间:2013-10-31 12:16:38

标签: ruby-on-rails ruby activerecord model migration

我为用户创建了一个迁移,稍后我使用

将列添加到我的模型中

rails生成迁移add_usertype_to_users usertype:string 生成以下

class AddUsertypeToUsers < ActiveRecord::Migration
  def change
    add_column :users, :usertype, :string
  end
end

现在我尝试将默认值指定为此usertype为基本。

哪里最好将默认值分配给此列,即在迁移内部,在我的模型中,或者我是否必须创建新的迁移?我提出的所有示例都是在创建列时创建迁移时给出的默认值,请让我知道正确的方法。 提前致谢

2 个答案:

答案 0 :(得分:3)

在迁移中设置默认值更好。

您可以像这样定义默认值

class AddUsertypeToUsers < ActiveRecord::Migration
  def change
    add_column :users, :usertype, :string, default: 'value'
  end
end

答案 1 :(得分:2)

add_column :users, :usertype, :string, :default => "your_text"