附件问题

dev_local_2
daiao 5 years ago
parent 68367f88b2
commit 246341dace

@ -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

Loading…
Cancel
Save