From 246341dace543005d5d577b3ea5a747a13437949 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 27 Sep 2019 19:27:27 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=99=84=E4=BB=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../initialization_data_controller.rb | 60 ++++++++++--------- 1 file changed, 33 insertions(+), 27 deletions(-) diff --git a/app/controllers/initialization_data_controller.rb b/app/controllers/initialization_data_controller.rb index 078fdc4c1..72af94541 100644 --- a/app/controllers/initialization_data_controller.rb +++ b/app/controllers/initialization_data_controller.rb @@ -85,44 +85,44 @@ class InitializationDataController < ApplicationController logger.info("#########challenge_questions: #{@challenge_questions.count}") logger.info("#########attachments: #{@attachments.count}") ActiveRecord::Base.transaction do - copy_subject_data - copy_stages_data - copy_stage_shixuns_data - copy_shixun_data - copy_shixun_info_data - copy_shixun_mirror_repositories_data - copy_shixun_tag_repertoires_data - copy_shixun_service_configs_data - copy_challenges_data - copy_challenge_answers_data - copy_challenge_tags_data - copy_test_sets_data - copy_challenge_chooses_data - copy_challenge_questions_data - copy_shixun_members_data - copy_subject_members_data + # copy_subject_data + # copy_stages_data + # copy_stage_shixuns_data + # copy_shixun_data + # copy_shixun_info_data + # copy_shixun_mirror_repositories_data + # copy_shixun_tag_repertoires_data + # copy_shixun_service_configs_data + # copy_challenges_data + # copy_challenge_answers_data + # copy_challenge_tags_data + # copy_test_sets_data + # copy_challenge_chooses_data + # copy_challenge_questions_data + # copy_shixun_members_data + # copy_subject_members_data copy_attachment_data end end # 链接库 def connect_to_origin_date database - ActiveRecord::Base.establish_connection( - adapter: "mysql2", - host: "rm-bp13v5020p7828r5r.mysql.rds.aliyuncs.com", - username: "testeducoder", - password: "TEST@123", - database: "#{database}", - encoding: "utf8" - ) # ActiveRecord::Base.establish_connection( # adapter: "mysql2", - # host: "127.0.0.1", - # username: "root", - # password: "123456", + # host: "rm-bp13v5020p7828r5r.mysql.rds.aliyuncs.com", + # username: "testeducoder", + # password: "TEST@123", # database: "#{database}", # encoding: "utf8" # ) + ActiveRecord::Base.establish_connection( + adapter: "mysql2", + host: "127.0.0.1", + username: "root", + password: "123456", + database: "#{database}", + encoding: "utf8" + ) end @@ -386,10 +386,16 @@ class InitializationDataController < ApplicationController # 获取关卡附件 def get_attachment_data task_pass = Challenge.where(id: @challenges).where("task_pass like '%/api/attachments/%'").pluck(:task_pass) + shixun_description = ShixunInfo.where(id: @shixuns).where("description like '%/api/attachments/%'").pluck(:description) att_ids = [] # 附件的格式为(/api/attachments/ + 附件id)的形式,因此下面的正文匹配是为了取出附件的id,方便迁移attachments task_pass.each do |tp| att_ids += tp.scan(/\(\/api\/attachments\/.+\)/).map{|s|s.match(/\d+/)[0]} + att_ids += tp.scan(/\/api\/attachments\/.+\"/).map{|s|s.match(/\d+/)[0]} + end + shixun_description.each do |sd| + att_ids += sd.scan(/\(\/api\/attachments\/.+\)/).map{|s|s.match(/\d+/)[0]} + att_ids += sd.scan(/\/api\/attachments\/.+\"/).map{|s|s.match(/\d+/)[0]} end @attachments = Attachment.where(id: att_ids).to_a end From 014024921301ff246f415ea003113bf9980f4e17 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 27 Sep 2019 19:30:12 +0800 Subject: [PATCH 2/4] 1 --- .../initialization_data_controller.rb | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app/controllers/initialization_data_controller.rb b/app/controllers/initialization_data_controller.rb index 72af94541..14e15bbf1 100644 --- a/app/controllers/initialization_data_controller.rb +++ b/app/controllers/initialization_data_controller.rb @@ -107,22 +107,22 @@ class InitializationDataController < ApplicationController # 链接库 def connect_to_origin_date database - # ActiveRecord::Base.establish_connection( - # adapter: "mysql2", - # host: "rm-bp13v5020p7828r5r.mysql.rds.aliyuncs.com", - # username: "testeducoder", - # password: "TEST@123", - # database: "#{database}", - # encoding: "utf8" - # ) ActiveRecord::Base.establish_connection( adapter: "mysql2", - host: "127.0.0.1", - username: "root", - password: "123456", + host: "rm-bp13v5020p7828r5r.mysql.rds.aliyuncs.com", + username: "testeducoder", + password: "TEST@123", database: "#{database}", encoding: "utf8" ) + # ActiveRecord::Base.establish_connection( + # adapter: "mysql2", + # host: "127.0.0.1", + # username: "root", + # password: "123456", + # database: "#{database}", + # encoding: "utf8" + # ) end From 7c41eeadba4de6667a42e0048bfda5cb864c6068 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Fri, 27 Sep 2019 22:23:12 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=99=84=E4=BB=B6?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../initialization_data_controller.rb | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/app/controllers/initialization_data_controller.rb b/app/controllers/initialization_data_controller.rb index 14e15bbf1..dae88e904 100644 --- a/app/controllers/initialization_data_controller.rb +++ b/app/controllers/initialization_data_controller.rb @@ -85,22 +85,22 @@ class InitializationDataController < ApplicationController logger.info("#########challenge_questions: #{@challenge_questions.count}") logger.info("#########attachments: #{@attachments.count}") ActiveRecord::Base.transaction do - # copy_subject_data - # copy_stages_data - # copy_stage_shixuns_data - # copy_shixun_data - # copy_shixun_info_data - # copy_shixun_mirror_repositories_data - # copy_shixun_tag_repertoires_data - # copy_shixun_service_configs_data - # copy_challenges_data - # copy_challenge_answers_data - # copy_challenge_tags_data - # copy_test_sets_data - # copy_challenge_chooses_data - # copy_challenge_questions_data - # copy_shixun_members_data - # copy_subject_members_data + copy_subject_data + copy_stages_data + copy_stage_shixuns_data + copy_shixun_data + copy_shixun_info_data + copy_shixun_mirror_repositories_data + copy_shixun_tag_repertoires_data + copy_shixun_service_configs_data + copy_challenges_data + copy_challenge_answers_data + copy_challenge_tags_data + copy_test_sets_data + copy_challenge_chooses_data + copy_challenge_questions_data + copy_shixun_members_data + copy_subject_members_data copy_attachment_data end end From a350b553fc0824b7d1211e211b8142d19610d3da Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Sat, 28 Sep 2019 09:22:10 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E9=A2=98=E5=BA=93=E9=80=89=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/question_banks_controller.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/question_banks_controller.rb b/app/controllers/question_banks_controller.rb index 5b7f3413f..47181bd46 100644 --- a/app/controllers/question_banks_controller.rb +++ b/app/controllers/question_banks_controller.rb @@ -10,7 +10,7 @@ class QuestionBanksController < ApplicationController def bank_list page = params[:page] || 1 limit = params[:limit] || 15 - @certification_teacher = current_user.is_teacher || current_user.admin? + @certification_teacher = current_user.is_teacher? || current_user.admin? @objects = @object_type.classify.constantize.where(@object_filter) @objects = if params[:search] @@ -21,7 +21,7 @@ class QuestionBanksController < ApplicationController #{@objects.table_name}.is_public = 1 and concat(#{@objects.table_name}.name, course_lists.name) like '%#{params[:search]}%' } - @objects.where(sql) + @objects.joins(:course_list).where(sql) else @objects.none end @@ -30,7 +30,7 @@ class QuestionBanksController < ApplicationController #{@objects.table_name}.user_id = #{current_user.id} and concat(#{@objects.table_name}.name, course_lists.name) like '%#{params[:search]}%' } - @objects.where(sql) + @objects.joins(:course_list).where(sql) end else if params[:filter] == 'public'