commit
de6056cdbb
@ -0,0 +1,17 @@
|
||||
class AddUniqIndexToExerciseAnswer < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
remove_index :exercise_answers, column: [:exercise_question_id, :user_id]
|
||||
|
||||
change_column_default :exercise_answers, :exercise_choice_id, from: nil, to: -1
|
||||
ExerciseAnswer.where(exercise_choice_id: nil).update_all(exercise_choice_id: -1)
|
||||
|
||||
sql = %Q(delete from exercise_answers where (exercise_question_id, user_id, exercise_choice_id) in
|
||||
(select * from (select exercise_question_id, user_id, exercise_choice_id from exercise_answers group by exercise_question_id, user_id, exercise_choice_id having count(*) > 1) a)
|
||||
and id not in (select * from (select min(id) from exercise_answers group by exercise_question_id, user_id, exercise_choice_id having count(*) > 1 order by id) b))
|
||||
ActiveRecord::Base.connection.execute sql
|
||||
|
||||
add_index :exercise_answers, [:exercise_question_id, :user_id, :exercise_choice_id], name: 'exercise_choice_index', unique: true
|
||||
|
||||
|
||||
end
|
||||
end
|
@ -0,0 +1,16 @@
|
||||
class AddUniqIndexToPollVotes < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
remove_index :poll_votes, column: [:poll_question_id, :user_id]
|
||||
|
||||
change_column_default :poll_votes, :poll_question_id, from: nil, to: -1
|
||||
PollVote.where(poll_answer_id: nil).update_all(poll_answer_id: -1)
|
||||
|
||||
sql = %Q(delete from poll_votes where (poll_question_id, user_id, poll_answer_id) in
|
||||
(select * from (select poll_question_id, user_id, poll_answer_id from poll_votes group by poll_question_id, user_id, poll_answer_id having count(*) > 1) a)
|
||||
and id not in (select * from (select min(id) from poll_votes group by poll_question_id, user_id, poll_answer_id having count(*) > 1 order by id) b))
|
||||
ActiveRecord::Base.connection.execute sql
|
||||
|
||||
add_index :poll_votes, [:poll_question_id, :user_id, :poll_answer_id], name: 'poll_answer_index', unique: true
|
||||
|
||||
end
|
||||
end
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
.quill_editor_area{
|
||||
height: 300px;
|
||||
overflow-y: auto;
|
||||
}
|
Loading…
Reference in new issue