数ヶ月前にDiscourseをインストールし、ドキュメンテーションモードセクションにいくつかのトピックをインデックス・トピックとして追加しました。すべて期待どおりに動作しました。
すべてをバックアップし、Digital Oceanアカウントなどを削除しました。
数日前にDiscourseを再度インストールし、作成したバックアップファイルからすべてを復元したところ、ドキュメンテーションセクションを除いてすべてが動作しています。最初は、それらのインデックス・トピックを非公開にしたことが原因かもしれないと思いましたが、すべてをアンインストールする前に非公開にしており、その時は動作していたので、それが問題ではないはずです。それでも、それらを公開してみましたが、うまくいきませんでした。サイドバーには、デフォルトのカテゴリやその他のものがまだ表示されていました。
それから、元のトピックの内容をコピーして、新しいトピックを作成し、インデックス・トピックに設定したところ、それは動作しました。動作しないものと同じようにクローズおよび非公開にしましたが、クローズと非公開が問題ではないことがわかりました。復元プロセス中に、何らかの理由でドキュメンテーションモードが壊れているようです。
リンクをありがとうございます。
まだ全体の構造を構築中だったので、結局新しいトピックを作成し、古いトピックの内容をコピー&ペーストして、古いトピックを削除しました。どちらにしても2つしかありませんでした。
それで、私の質問は次のとおりです。その rake task は、Discourse を更新するたびに実行する必要がありますか?それとも、リストアするときだけですか(将来また行う場合)?
nat
(Natalie T)
4
いいえ、その rake タスクは引用された投稿の日付からのその場限りのものです。
トピックを再作成する必要はないはずですが、カテゴリ設定に移動し、リンクを解除し、保存し、既存のトピックを再リンクするだけで機能するはずです。
RGJ
(Richard - Communiteq)
5
単に疑問なのですが、なぜこれをマイグレーションとして実装しなかったのでしょうか?
nat
(Natalie T)
6
私がその時思い出した限りでは、それはマイグレーションではありえません。マイグレーションは理想的にはアプリケーションコードに触れません(コードがマイグレーションの意図した時点から乖離し、エラーになる可能性があるためです)。
そのPRも理由を示しています。
このPRには、アクティブなドキュメントインデックスのトピックからサイドバーセクションとリンクを再構築するためのrakeタスク(doc_categories.rake)も含まれています。これは、パーサーまたはnokogiriを使用することになるため、マイグレーションで実行することはあまり推奨されません(実装が乖離し、無効なマイグレーションを引き起こす可能性があるためです)。
「いいね!」 2
つまり、私が正しく理解していれば、これからはそのどれも行う必要がないということですか?Discourseをアップデートするたびに、rakeタスクや再リンク処理など、何もですか?
ただ、理解しているか確認したいだけです。
素晴らしい!明確にしてくれてありがとうございます!
「いいね!」 1