From 56f83272347147e7866e75f3ce110dc6d584c992 Mon Sep 17 00:00:00 2001 From: Lhc_fl Date: Thu, 5 Sep 2024 19:35:03 +0800 Subject: [PATCH] remove unused post/topic custom fields --- ...tom_field_to_discourse_solved_solutions.rb | 47 +++++++++++++++++-- 1 file changed, 42 insertions(+), 5 deletions(-) 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 04ba044..59829c9 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 @@ -36,14 +36,51 @@ class MoveSolvedTopicCustomFieldToDiscourseSolvedSolutions < ActiveRecord::Migra AND ua.action_type = #{UserAction::SOLVED} SQL - # execute <<-SQL - # DELETE FROM post_custom_fields - # WHERE name = 'is_accepted_answer' - # SQL + execute <<-SQL + DELETE FROM post_custom_fields + WHERE name = 'is_accepted_answer' + SQL + + execute <<-SQL + DELETE FROM topic_custom_fields + WHERE name = 'solved_auto_close_topic_timer_id' + SQL end def down - # raise ActiveRecord::IrreversibleMigration + execute <<-SQL + INSERT INTO topic_custom_fields ( + topic_id, + name, + value, + created_at, + updated_at + ) SELECT DISTINCT + topic_id, + 'solved_auto_close_topic_timer_id', + CAST(topic_timer_id AS TEXT), + created_at, + updated_at + FROM discourse_solved_solutions tc + WHERE tc.topic_timer_id IS NOT NULL + SQL + + execute <<-SQL + INSERT INTO post_custom_fields ( + post_id, + name, + value, + created_at, + updated_at + ) SELECT DISTINCT + answer_post_id, + 'is_accepted_answer', + 'true', + created_at, + updated_at + FROM discourse_solved_solutions + SQL + remove_index :discourse_solved_solutions, :topic_id remove_index :discourse_solved_solutions, :answer_post_id