18 lines
895 B
Ruby
18 lines
895 B
Ruby
|
class ChangeSubscribeableIdToDecimal < ActiveRecord::Migration
|
||
|
def up
|
||
|
add_column :subscribes, :subscribeable_id_tmp, :decimal, :precision => 50, :scale => 0
|
||
|
Subscribe.reset_column_information
|
||
|
Subscribe.all.each {|c| c.update_column :subscribeable_id_tmp, (c.subscribeable_type == 'Grit::Commit' ? c.subscribeable_id.hex : c.subscribeable_id.to_i)}
|
||
|
remove_column :subscribes, :subscribeable_id
|
||
|
rename_column :subscribes, :subscribeable_id_tmp, :subscribeable_id
|
||
|
end
|
||
|
|
||
|
def down
|
||
|
add_column :subscribes, :subscribeable_id_tmp, :string
|
||
|
Subscribe.reset_column_information
|
||
|
Subscribe.all.each {|c| c.update_column :subscribeable_id_tmp, (c.subscribeable_type == 'Grit::Commit' ? c.subscribeable_id.to_s(16) : c.subscribeable_id.to_s)}
|
||
|
remove_column :subscribes, :subscribeable_id
|
||
|
rename_column :subscribes, :subscribeable_id_tmp, :subscribeable_id
|
||
|
end
|
||
|
end
|