74 lines
2.1 KiB
Ruby
74 lines
2.1 KiB
Ruby
|
class AddRootId < ActiveRecord::Migration
|
||
|
def change
|
||
|
add_column :messages, :root_id, :integer, :default => nil
|
||
|
add_column :journals_for_messages, :root_id, :integer, :default => nil
|
||
|
add_column :blog_comments, :root_id, :integer, :default => nil
|
||
|
add_column :org_document_comments, :root_id, :integer, :default => nil
|
||
|
|
||
|
add_index :messages, :root_id
|
||
|
add_index :journals_for_messages,:root_id
|
||
|
add_index :blog_comments,:root_id
|
||
|
add_index :org_document_comments,:root_id
|
||
|
|
||
|
def get_base_parent comment
|
||
|
comm = comment
|
||
|
while comm.parent
|
||
|
comm = comm.parent
|
||
|
end
|
||
|
comm
|
||
|
end
|
||
|
|
||
|
count = Message.all.count / 30 + 2
|
||
|
transaction do
|
||
|
for i in 1 ... count do i
|
||
|
Message.page(i).per(30).each do |message|
|
||
|
unless message.parent.nil?
|
||
|
parent = get_base_parent message
|
||
|
message.update_column('root_id', parent.id)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
count = JournalsForMessage.all.count / 30 + 2
|
||
|
transaction do
|
||
|
for i in 1 ... count do i
|
||
|
JournalsForMessage.page(i).per(30).each do |message|
|
||
|
if message.jour_type == "HomeworkCommon" || message.jour_type == "Syllabus"
|
||
|
message.update_column('root_id', message.jour_id)
|
||
|
else
|
||
|
unless message.parent.nil?
|
||
|
parent = get_base_parent message
|
||
|
message.update_column('root_id', parent.id)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
count = BlogComment.all.count / 30 + 2
|
||
|
transaction do
|
||
|
for i in 1 ... count do i
|
||
|
BlogComment.page(i).per(30).each do |message|
|
||
|
unless message.parent.nil?
|
||
|
parent = get_base_parent message
|
||
|
message.update_column('root_id', parent.id)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
count = OrgDocumentComment.all.count / 30 + 2
|
||
|
transaction do
|
||
|
for i in 1 ... count do i
|
||
|
OrgDocumentComment.page(i).per(30).each do |message|
|
||
|
unless message.parent.nil?
|
||
|
parent = get_base_parent message
|
||
|
message.update_column('root_id', parent.id)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|