parent
22ce616a78
commit
adf8a7bc92
@ -1,5 +1,5 @@
|
|||||||
class AddDescriptionToShare < ActiveRecord::Migration
|
class AddDescriptionToShare < ActiveRecord::Migration
|
||||||
def change
|
def change
|
||||||
add_column :shares, :description, :string
|
# add_column :shares, :description, :string
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,7 +1,63 @@
|
|||||||
class StoredCourseProcess < ActiveRecord::Migration
|
class StoredCourseProcess < ActiveRecord::Migration
|
||||||
def up
|
def up
|
||||||
|
execute "
|
||||||
|
CREATE PROCEDURE sp_course_cursor ()
|
||||||
|
BEGIN
|
||||||
|
DECLARE course_uid int(10);
|
||||||
|
DECLARE _done tinyint(1) DEFAULT 0;
|
||||||
|
DECLARE cur_course CURSOR FOR
|
||||||
|
SELECT
|
||||||
|
`projects`.id
|
||||||
|
FROM `projects`
|
||||||
|
WHERE projects.status <> 9 AND projects.is_public = 1 AND projects.project_type = 1;
|
||||||
|
DECLARE CONTINUE HANDLER FOR NOT FOUND SET _done = 1;
|
||||||
|
|
||||||
|
OPEN cur_course;
|
||||||
|
loop_course:
|
||||||
|
LOOP
|
||||||
|
FETCH cur_course INTO course_uid;
|
||||||
|
IF _done = 1 THEN
|
||||||
|
LEAVE loop_course;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
DECLARE members_count int(4) DEFAULT 0;
|
||||||
|
DECLARE attachments_count int(4) DEFAULT 0;
|
||||||
|
DECLARE total_count int(4) DEFAULT 0;
|
||||||
|
SELECT
|
||||||
|
COUNT(*) INTO members_count
|
||||||
|
FROM `members` inner join `users`
|
||||||
|
WHERE `members`.`project_id` = course_uid AND `members`.`user_id` = `users`.`id` AND `users`.`type` = 'User' AND `users`.`status` = 1;
|
||||||
|
SELECT
|
||||||
|
COUNT(*) INTO attachments_count
|
||||||
|
FROM `attachments`
|
||||||
|
WHERE `attachments`.`container_id` = course_uid AND `attachments`.`container_type` = 'Project';
|
||||||
|
SET total_count = members_count + attachments_count;
|
||||||
|
UPDATE project_statuses
|
||||||
|
SET course_ac_para = total_count
|
||||||
|
WHERE project_statuses.project_id = course_uid;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
END;
|
||||||
|
END LOOP;
|
||||||
|
END;
|
||||||
|
"
|
||||||
|
execute "
|
||||||
|
CREATE EVENT IF NOT EXISTS e_project_status_course
|
||||||
|
ON SCHEDULE EVERY 1 DAY STARTS '2013-08-27 01:50:00'
|
||||||
|
ON COMPLETION PRESERVE
|
||||||
|
DO CALL sp_course_cursor();
|
||||||
|
"
|
||||||
|
execute "
|
||||||
|
SET GLOBAL event_scheduler = ON;
|
||||||
|
"
|
||||||
end
|
end
|
||||||
|
|
||||||
def down
|
def down
|
||||||
|
execute " DROP PROCEDURE IF EXISTS sp_course_cursor;
|
||||||
|
"
|
||||||
|
execute "
|
||||||
|
DROP EVENT IF EXISTS e_project_status_course;
|
||||||
|
"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
class AddCourseAcParaToProjectStatuses < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :project_statuses, :course_ac_para, :integer, :default => 0;
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in new issue