From 1193c4b145d1a53f5e540b27a7fbbec6724c4ddb Mon Sep 17 00:00:00 2001 From: cxt Date: Mon, 22 May 2017 10:14:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E5=8D=B7=E7=9A=84=E5=A4=9A=E8=A1=8C?= =?UTF-8?q?=E4=B8=BB=E8=A7=82=E9=A2=98=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20170220065632_homework_bank_migration.rb | 76 +++++++++---------- .../20170522020442_poll_question_migration.rb | 13 ++++ 2 files changed, 51 insertions(+), 38 deletions(-) create mode 100644 db/migrate/20170522020442_poll_question_migration.rb diff --git a/db/migrate/20170220065632_homework_bank_migration.rb b/db/migrate/20170220065632_homework_bank_migration.rb index 6f159b631..6e47288ae 100644 --- a/db/migrate/20170220065632_homework_bank_migration.rb +++ b/db/migrate/20170220065632_homework_bank_migration.rb @@ -1,43 +1,43 @@ class HomeworkBankMigration < ActiveRecord::Migration def up - # add_column :homework_commons, :homework_bank_id, :integer - # add_column :homework_commons, :is_update, :boolean, :default => false - # - # count =Course.all.count / 30 + 2 - # transaction do - # for i in 1 ... count do i - # Course.page(i).per(30).each do |course| - # if course.is_delete == 0 - # course.homework_commons.each do |homework| - # unless homework.user.homework_banks.select("name").to_s.include?(homework.name) - # homework_bank = HomeworkBank.create(:user_id => homework.user_id, :name => homework.name, :description => homework.description, :homework_type => homework.homework_type, - # :quotes => 1, :is_public => course.is_public, :applicable_syllabus => course.syllabus.title, :homework_common_id => homework.id, :created_at => homework.created_at) - # if homework.homework_type == 2 && homework.homework_detail_programing - # homework_bank.update_attributes(:language => homework.homework_detail_programing.language, :standard_code => homework.homework_detail_programing.standard_code) - # homework.homework_tests.each do |test| - # homework_bank.homework_bank_tests << HomeworkBankTest.create( - # input: test.input, - # output: test.output, - # test_type: true - # ) - # end - # homework.homework_samples.each do |test| - # homework_bank.homework_bank_tests << HomeworkBankTest.create( - # input: test.input, - # output: test.output, - # test_type: false - # ) - # end - # elsif homework.homework_type == 3 && homework.homework_detail_group - # homework_bank.update_attributes(:min_num => homework.homework_detail_group.min_num, :max_num => homework.homework_detail_group.max_num, :base_on_project => homework.homework_detail_group.base_on_project) - # end - # homework.update_column('homework_bank_id', homework_bank.id) - # end - # end - # end - # end - # end - # end + add_column :homework_commons, :homework_bank_id, :integer + add_column :homework_commons, :is_update, :boolean, :default => false + + count =Course.all.count / 30 + 2 + transaction do + for i in 1 ... count do i + Course.page(i).per(30).each do |course| + if course.is_delete == 0 + course.homework_commons.each do |homework| + unless homework.user.homework_banks.select("name").to_s.include?(homework.name) + homework_bank = HomeworkBank.create(:user_id => homework.user_id, :name => homework.name, :description => homework.description, :homework_type => homework.homework_type, + :quotes => 1, :is_public => course.is_public, :applicable_syllabus => course.syllabus.title, :homework_common_id => homework.id, :created_at => homework.created_at) + if homework.homework_type == 2 && homework.homework_detail_programing + homework_bank.update_attributes(:language => homework.homework_detail_programing.language, :standard_code => homework.homework_detail_programing.standard_code) + homework.homework_tests.each do |test| + homework_bank.homework_bank_tests << HomeworkBankTest.create( + input: test.input, + output: test.output, + test_type: true + ) + end + homework.homework_samples.each do |test| + homework_bank.homework_bank_tests << HomeworkBankTest.create( + input: test.input, + output: test.output, + test_type: false + ) + end + elsif homework.homework_type == 3 && homework.homework_detail_group + homework_bank.update_attributes(:min_num => homework.homework_detail_group.min_num, :max_num => homework.homework_detail_group.max_num, :base_on_project => homework.homework_detail_group.base_on_project) + end + homework.update_column('homework_bank_id', homework_bank.id) + end + end + end + end + end + end end def down diff --git a/db/migrate/20170522020442_poll_question_migration.rb b/db/migrate/20170522020442_poll_question_migration.rb new file mode 100644 index 000000000..4f61a4ae3 --- /dev/null +++ b/db/migrate/20170522020442_poll_question_migration.rb @@ -0,0 +1,13 @@ +class PollQuestionMigration < ActiveRecord::Migration + def up + pqs = PollQuestion.where(:question_type => 4) + pqs.each do |pq| + if pq.poll_answers.empty? + pq.update_column("question_type", 3) + end + end + end + + def down + end +end