Как написать миграцию для изменения столбца таблицы с плавающей на Bigint в Rails - PullRequest
3 голосов
/ 14 декабря 2011

У меня есть данные в таблице пользователей. Один столбец называется: provider_user_id типа данных с плавающей точкой.

Я хочу изменить его на тип данных bigint.

Как мне записать эту миграцию в рельсы 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 ]

3 голосов
/ 19 мая 2013
change_column :users, :provider_user_id, :bigint
0 голосов
/ 21 сентября 2012

Добавьте новый столбец типа bigint, подойдет любое имя.

Создать цикл обновления для обновления каждого нового столбца bigint значением в текущем столбце

Бросить старую колонку (надеюсь, на ней нет RI).

Переименуйте новый столбец в столбец только что удаленного старого столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...