discourse/db/migrate/20180917024729_remove_superfluous_columns.rb
2023-01-09 11:59:41 +00:00

71 lines
1.7 KiB
Ruby

# frozen_string_literal: true
require "migration/column_dropper"
require "badge_posts_view_manager"
class RemoveSuperfluousColumns < ActiveRecord::Migration[5.2]
DROPPED_COLUMNS ||= {
user_profiles: %i[card_image_badge_id],
categories: %i[logo_url background_url suppress_from_homepage],
groups: %i[visible public alias_level],
theme_fields: %i[target],
user_stats: %i[first_topic_unread_at],
topics: %i[
auto_close_at
auto_close_user_id
auto_close_started_at
auto_close_based_on_last_post
auto_close_hours
inappropriate_count
bookmark_count
off_topic_count
illegal_count
notify_user_count
last_unread_at
vote_count
],
users: %i[
email
email_always
mailing_list_mode
email_digests
email_direct
email_private_messages
external_links_in_new_tab
enable_quoting
dynamic_favicon
disable_jump_reply
edit_history_public
automatically_unpin_topics
digest_after_days
auto_track_topics_after_msecs
new_topic_duration_minutes
last_redirected_to_top_at
auth_token
auth_token_updated_at
blocked
silenced
trust_level_locked
],
user_auth_tokens: %i[legacy],
user_options: %i[theme_key],
themes: %i[key],
email_logs: %i[topic_id reply_key skipped skipped_reason],
posts: %i[vote_count],
}
def up
BadgePostsViewManager.drop!
DROPPED_COLUMNS.each { |table, columns| Migration::ColumnDropper.execute_drop(table, columns) }
DB.exec "DROP FUNCTION IF EXISTS first_unread_topic_for(int)"
BadgePostsViewManager.create!
end
def down
raise ActiveRecord::IrreversibleMigration
end
end