diff --git a/db/migrate/20240905024953_move_solved_topic_custom_field_to_discourse_solved_solutions.rb b/db/migrate/20240905024953_move_solved_topic_custom_field_to_discourse_solved_solutions.rb index 4326159..3e91f76 100644 --- a/db/migrate/20240905024953_move_solved_topic_custom_field_to_discourse_solved_solutions.rb +++ b/db/migrate/20240905024953_move_solved_topic_custom_field_to_discourse_solved_solutions.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true class MoveSolvedTopicCustomFieldToDiscourseSolvedSolutions < ActiveRecord::Migration[7.1] + disable_ddl_transaction! + def up create_table :discourse_solved_solutions do |t| t.integer :topic_id, null: false @@ -9,9 +11,6 @@ class MoveSolvedTopicCustomFieldToDiscourseSolvedSolutions < ActiveRecord::Migra t.timestamps end - add_index :discourse_solved_solutions, :topic_id, unique: true - add_index :discourse_solved_solutions, :answer_post_id, unique: true - execute <<-SQL INSERT INTO discourse_solved_solutions ( topic_id, @@ -36,6 +35,9 @@ class MoveSolvedTopicCustomFieldToDiscourseSolvedSolutions < ActiveRecord::Migra AND ua.action_type = #{UserAction::SOLVED} SQL + add_index :discourse_solved_solutions, :topic_id, unique: true, algorithm: :concurrently + add_index :discourse_solved_solutions, :answer_post_id, unique: true, algorithm: :concurrently + execute <<-SQL DELETE FROM post_custom_fields WHERE name = 'is_accepted_answer'