From a2d6168043f9ab0c764ab651335c998ba0dfad9d Mon Sep 17 00:00:00 2001 From: cxt Date: Mon, 28 Sep 2015 10:51:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=8A=A8=E6=80=81=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/migrate/20150925025200_alter_activities.rb | 53 +++++++++++++++++++ ...939_update_course_activities_updated_at.rb | 16 ++++++ 2 files changed, 69 insertions(+) create mode 100644 db/migrate/20150925025200_alter_activities.rb create mode 100644 db/migrate/20150925060939_update_course_activities_updated_at.rb diff --git a/db/migrate/20150925025200_alter_activities.rb b/db/migrate/20150925025200_alter_activities.rb new file mode 100644 index 000000000..638918e8e --- /dev/null +++ b/db/migrate/20150925025200_alter_activities.rb @@ -0,0 +1,53 @@ +class AlterActivities < ActiveRecord::Migration + def up + UserActivity.all.each do |activity| + if activity.act_type == 'JournalsForMessage' + if activity.act + unless activity.act.m_parent_id.nil? + parent_act = UserActivity.where("act_id = #{activity.act.parent.id} and act_type='JournalsForMessage' and container_type='Course'").first + if parent_act + parent_act.created_at = activity.act.parent.children.maximum("created_on") + parent_act.save + activity.destroy + end + end + else + activity.destroy + end + end + end + + CourseActivity.all.each do |activity| + if activity.course_act_type == 'JournalsForMessage' + if activity.course_act + unless activity.course_act.m_parent_id.nil? + parent_act = CourseActivity.where("course_act_id = #{activity.course_act.parent.id} and course_act_type='JournalsForMessage'").first + if parent_act + parent_act.created_at = activity.course_act.parent.children.maximum("created_on") + parent_act.save + activity.destroy + end + end + else + activity.destroy + end + elsif activity.course_act_type == 'Message' + if activity.course_act + unless activity.course_act.parent_id.nil? + parent_act = CourseActivity.where("course_act_id = #{activity.course_act.parent.id} and course_act_type='Message'").first + if parent_act + parent_act.created_at = activity.course_act.parent.children.maximum("created_on") + parent_act.save + activity.destroy + end + end + else + activity.destroy + end + end + end + end + + def down + end +end diff --git a/db/migrate/20150925060939_update_course_activities_updated_at.rb b/db/migrate/20150925060939_update_course_activities_updated_at.rb new file mode 100644 index 000000000..fe8393361 --- /dev/null +++ b/db/migrate/20150925060939_update_course_activities_updated_at.rb @@ -0,0 +1,16 @@ +class UpdateCourseActivitiesUpdatedAt < ActiveRecord::Migration + def up + count = CourseActivity.all.count / 30 + 2 + transaction do + for i in 1 ... count do i + CourseActivity.page(i).per(30).each do |activity| + activity.updated_at = activity.created_at + activity.save + end + end + end + end + + def down + end +end