XenForoからDiscourseへの移行で問題が発生

こんにちは、ステップ 7 から問題が発生しています。ご助言いただければ大変感謝いたします。Ruby を使ったことがないため、ステップ 7 の直前に必要な明らかな手順が経験不足でわかっていない可能性があります。もしこの質問が初歩的だと感じられたらお許しください。

次のコマンドを実行すると:

以下のエラーが表示されます:

-bash: Gemfile: Permission denied

これは、Discourse が正常にインストールされたばかりの新しいサーバーでのことです。

ステップ 7 以降を動作させるために、インストールする必要がある他のコンポーネントやソフトウェアはありますか?

また、このスレッドは数年前に投稿されたものだと気づきました。元の投稿(OP)のすべての手順が現在でも正しいでしょうか?

ありがとうございます!

はい、以前ここに投稿を提出しましたが、Docker と Discourse のインストールの仕組みについて深刻な誤解をしていたことに気づき、削除しました。前の投稿は人々を混乱させるものだったでしょう。なぜなら、基本的には自分が何を話しているのか分かっていなかったからです。:joy:

インポートファイルを手動で /var/discourse/ ディレクトリに追加しようとしていましたが、実際には Docker 内でそれらを探すべきでした。振り返れば明らかな間違いですが、その当時はかなり混乱していました。手順でもっと明確に説明されていれば良かったかもしれませんが、自分でその点に気づき、問題を解決することができました。

100 万件以上の投稿があるフォーラムで、このインポートを成功させることができました。いくつか気づいた点があります。

  1. アバターが表示されていません。スクリプトを確認しましたが、アバターに関する参照は見当たりませんでした。念のため確認しますが、アバターはインポートされないのでしょうか?

  2. スレッドの閲覧数がすべて 0 です。これは想定された動作でしょうか?

  3. ゲスト投稿(ユーザーアカウントが削除され、XenForo 上でユーザー名が「guest」とマークされたもの)はすべて「system」として表示されます。これらを「system」ではなく「guest」として表示させることは可能でしょうか?Discourse は、登録アカウントに紐付かない投稿をサポートしていますか?

アバターやスレッドの閲覧数のインポートをサポートするインポートスクリプトはありますか?それらを確認して、xenforo.rb スクリプトを修正するのがどれほど難しいか検討したいと考えています。

vBulletin と XenForo のデータベースについてはよく理解しています。Discourse 側でスレッドの閲覧数やアバターがどのように格納されているか、適切な方向性を示していただければ、それらを正しくマッピングできます。

それらのことはどれも驚きではありません。

一般的に、探しているもの(Avatar)をスクリプトディレクトリで grep しています。ビューについては、SQL クエリに追加し、レコード作成時にフィールドを追加するだけでよいと思います。ゲストユーザーについては、ユーザー検索が失敗した場合に system を使用する行があります。これを、作成したゲストユーザーに置き換えることができます。

このスクリプトを確認しましたが、ソースデータベースの値と完全に一致させるのではなく、なぜIDが1からインクリメントされてしまうのか、原因がわかりません。

既存のURLを転送したいと考えており、そのためにはIDを維持するのが最善の方法です。ユーザーID、投稿ID、トピックID、カテゴリIDなど、すべてのIDを維持したいのです。

しかし、このスクリプトによってそれらのIDがすべて新しいIDに「マッピング」されてしまっています。

インポート後にすべてのIDを同じままに強制できる、何か見落としている明らかな方法はありませんか?

もしこの質問がこのフォーラムの範囲を超えているようであれば、ご容赦ください。いずれにせよ、お読みいただきありがとうございます!:+1:

それは違います。ユーザー、投稿、トピック、カテゴリごとにパーマリンクを作成する必要があります。管理画面 → カスタマイズ → パーマリンクを参照してください。多くの他のインポーターもパーマリンクの作成をサポートしています。