parent
08accb32db
commit
312403cfc3
@ -0,0 +1,30 @@
|
|||||||
|
class MigrationShixunStudentWork < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
works = StudentWork.where("myshixun_id != 0 and myshixun_id not in (select id from myshixuns) and (work_score is null or work_score = 0)")
|
||||||
|
works.update_all(:myshixun_id => 0, :work_status => 0, :work_score => nil, :final_score => nil,
|
||||||
|
:cost_time => 0, :update_time => nil, :compelete_status => 0, :commit_time => nil)
|
||||||
|
|
||||||
|
shixun_works = StudentWork.where("myshixun_id != 0 and myshixun_id not in (select id from myshixuns) and work_score > 0")
|
||||||
|
shixun_works.each do |work|
|
||||||
|
if work.homework_common && work.homework_common.homework_commons_shixuns.try(:shixun)
|
||||||
|
shixun = work.homework_common.homework_commons_shixuns.try(:shixun)
|
||||||
|
|
||||||
|
# 创建新的myshixun和games
|
||||||
|
myshixun = nil
|
||||||
|
|
||||||
|
work_score = work.final_score
|
||||||
|
work.homework_common.homework_challenge_settings.each do |setting|
|
||||||
|
if work_score > 1
|
||||||
|
myshixun.games.where(:challenge_id => setting.challenge_id).first.update_attributes(:status => 2)
|
||||||
|
work_score -= setting.score
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
work.update_column("myshixun_id", myshixun.id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in new issue