テーマの自動転送

こんにちは、

現在、テーマ ID X を有効にしている全員を、簡単にテーマ ID Y に切り替える仕組み(またはクエリ)はありますか?

現在、いくつかの整理されていないコンポーネントを含むテーマ X を使用していますが、GitHub にリンクされた同一のテーマ Y に置き換えたいと考えています。ただし、テーマ X を選択している全員に違いに気づいてほしくありません(つまり、単に削除して全員に Y を選択させることはできません)。

ご協力をいただければ幸いです :grin:

GitHubのテーマを新しいコンポーネントとしてインポートし、Theme Xの唯一のコンポーネントにするのはどうでしょうか。(少なくとも、それで動くと思います。)しかし、それは最もエレガントな解決策には思えません。

これで完了するはずです。ただし、事前にバックアップを作成してください。

Rails に入る

cd /var/discourse
./launcher enter app

これらのコマンドを実行

old_id=2
new_id=21
UserOption.where(theme_ids: [old_id]).update_all(theme_ids: [new_id])

素晴らしい、ありがとう!