トレーディングボタン

コンソールで実行する破壊的な操作は、どれも少し怖いですね。実行する前に必ずバックアップを取ってください。

CategoryUser レコードは、カテゴリに対するユーザーの通知レベルを表します。notification_level0 の場合、そのカテゴリはユーザーに対してミュートされていることを意味します。詳細はこちらでご確認いただけます:https://meta.discourse.org/t/how-do-i-set-category-tracking-level-defaults-historically/53165。

notification_level0CategoryUser レコードを、特定の category_id に対してすべて削除すると、サイト上の全ユーザーからそのカテゴリがミュートリストから削除されます。

このようなコマンドを実行する際、私は通常、上記に記載していない追加のステップを踏みます。次のようなコマンドを単一ステップで実行するのではなく、

CategoryUser.where(category_id: c.id, notification_level: 0).destroy_all

レコードを変数に代入して、正しいデータを取り扱っているか再確認します。例えば以下のようにします:

# カテゴリを取得して変数に代入
c = Category.find_by(name: "<your category name>")

# category_users を変数に代入し、データを検査します。レコードに正しい category_id などが含まれているか確認してください。
muted_category_users = CategoryUser.where(category_id: c.id, notification_level: 0)

# データが正しいと確信したら実行
muted_category_users.destroy_all
「いいね!」 3