如何编写一个迁移来在Rails中将表列从float更改为bigint

时间:2011-12-14 10:59:38

标签: ruby-on-rails-3 migration

我在Users表中有数据。 一列名为:provider_user_id,数据类型为float。

我想将其更改为数据类型bigint。

我应该如何在rails 3中编写此迁移

使用以下迁移创建原始列:

class AddFbuidToUsers < ActiveRecord::Migration
  def self.up
    add_column :users, :provider_user_id, :float
  end

  def self.down
    remove_column :users, :provider_user_id
  end
end

2 个答案:

答案 0 :(得分:3)

change_column :users, :provider_user_id, :bigint

答案 1 :(得分:0)

添加bigint类型的新列,任何名称都可以。

编写更新循环以使用当前列中的值

更新每个新bigint列

删除旧列(希望没有RI)。

将新列重命名为刚刚删除的旧列的列。