0

我有一个用户模型是它的has_many东西。我想在我的用户表中添加一列作为默认值。迁移应该如何?

class AddDefaultThingToUsers < ActiveRecord::Migration
  def change
    change_table :users do |t|
      t.integer :default_thing_id
    end
  end
end

这是正确的吗?

更新(也许我不够清楚):

考虑用户 has_many 的电子邮件。电子邮件属于_给用户。现在我想在 users 表中添加一个 default_email 列。

4

1 回答 1

0

你可以这样做:

class AddDefaultThingToUsers < ActiveRecord::Migration
  def up
    add_column :users, :default_thing_id, :integer
    User.reset_column_information
    User.all.each do |p|
     p.update_attribute :default_thing_id, 1
    end
  end

  def down
    remove_column :users, :default_thing_id
  end
end

谢谢

于 2013-09-30T06:52:45.517 回答