19 lines
868 B
Ruby
19 lines
868 B
Ruby
# -*- encoding : utf-8 -*-
|
|
class ChangeCommentableIdToDecimal < ActiveRecord::Migration
|
|
def up
|
|
add_column :comments, :commentable_id_tmp, :decimal, :precision => 50, :scale => 0
|
|
Comment.reset_column_information
|
|
Comment.all.each {|c| c.update_column :commentable_id_tmp, (c.commentable_type == 'Grit::Commit' ? c.commentable_id.hex : c.commentable_id.to_i)}
|
|
remove_column :comments, :commentable_id
|
|
rename_column :comments, :commentable_id_tmp, :commentable_id
|
|
end
|
|
|
|
def down
|
|
add_column :comments, :commentable_id_tmp, :string
|
|
Comment.reset_column_information
|
|
Comment.all.each {|c| c.update_column :commentable_id_tmp, (c.commentable_type == 'Grit::Commit' ? c.commentable_id.to_s(16) : c.commentable_id.to_s)}
|
|
remove_column :comments, :commentable_id
|
|
rename_column :comments, :commentable_id_tmp, :commentable_id
|
|
end
|
|
end
|