こんにちは! Discourse 上のコミュニティを別のプラットフォームに移行したいと考えています。コンテンツとユーザーを SQL ファイルにエクスポートするにはどうすればよいですか?
こんにちは ![]()
管理パネルからバックアップを作成してください。すべてが含まれています。
興味本位で伺いますが、Discourseから移行する理由を教えていただけますか?
@Canapin ありがとうございます。確認ですが、管理パネルでバックアップセクションを開き、前日のダウンロードを行うだけでよいのですね。
はい、その通りです。アーカイブにはSQLダンプとアップロードが含まれているはずです。
念のため、まずバックアップを作成してから、最新のバックアップをダウンロードすることもできます。
@Gabriel_Fernando_Mar様
スクリーンショットを詳しく確認したところ、アップロードが含まれておらず、データベースのみが含まれているようです。これは sql.gz というファイル名からわかります。
新しいバックアップを作成する前に、サイト設定の「アップロードを含めてバックアップ」を有効にして、ファイル名が .tar.gz で終わるようにしてください。
例:
以前の返信で誤解を招いてしまい、申し訳ありませんでした。
こんにちは、@Canapinさん!お元気でお過ごしでしょうか ![]()
残念ながら、Discourseにあるコンテンツの移行に問題が発生しています。以前、SQLのバックアップファイルを新しいツールに送信したところ、彼らが特定したエラーの1つは次のとおりでした。
- かなりの数の添付ファイルが不足しています。エンジニアが、エクスポートで提供された添付ファイルを参照しているトピックを処理した際にこれを発見しましたが、添付ファイルが利用できませんでした。これらの添付ファイルは、Discourseの別の場所(たとえば、別のデータベース)に保存されていると推測されます。追加の添付ファイルがないか再度確認し、提供していただけますでしょうか。
トピックでご案内いただいた後、「アップロードを含める」オプションを選択し、新しい.tar形式のファイルを生成しましたが、それでもエラーが表示されました(下の画像)。
バックアップ設定で「アップロード」オプションを選択しても、画像やその他のメディアが移行ファイルに含まれていない可能性はありますか?何が起こっているのでしょうか?
「まだ8,100を超えるファイルが見つかりません。」
移行 前 にそれらは欠けていましたか?
ファイルの場所を特定するには、uploads テーブルの url パスを使用する必要があります。
その後、これらのファイルが S3 に保存されていることがわかるでしょう。これらはバックアップに含まれていません。インポートスクリプトは、必要に応じて S3 から取得できます(または S3 に置いたまま参照するだけです)。
質問を詳しく説明すると、いくつかの状況が考えられます。
- アップロードがバックアップファイルに一つもない
- アップロードの一部がバックアップファイルにある
- (利用可能な)アップロードのすべてがバックアップファイルにある
残念ながら、どの状況に当てはまるかを判断する方法はありません。
rake posts:missing_uploads が役立つかもしれません。
その件について話したくないお気持ちはよくわかりますが、@Canapinさんが尋ねたように、移行の理由を教えていただけると幸いです。他の人も知りたいと思っているかもしれません
私より丁寧なだけです
よろしくお願いします!
@supermathie @RGJ @Canapin 回答ありがとうございます!バックアップファイルを生成するために実行した手順をここに記載します。設定に誤りがないか教えていただけますでしょうか。
バックアップ設定:
バックアップの保存場所はS3です。これで正しいですか、それとも他のオプションを選択すべきですか?もう一つのオプションは、FreeTranslateの「ローカルストレージ」です。これは何を意味しますか?
これらの設定を行った後、.tar形式でファイルをダウンロードし、他のプラットフォームチームに送信しました。
何か間違いはありましたか?バックアップ設定で調整する必要があることはありますか?それとも、他のプラットフォームチームはアクセス権や別のファイルが必要なのでしょうか?
移行やスクリプトに関する技術的な知識があまりないため、質問が多くて申し訳ありません。Discourseからネイティブにエクスポートするのは簡単だと思っていました。
こんにちは、@Mevo さん!主な理由はユーザーインターフェースとエクスペリエンスです。
私たちのコミュニティは成長しており、よりユーザーフレンドリーで直感的なプラットフォームが必要でした。
また、ユーザーエンゲージメントに関する問題もありました。ゲーミフィケーション、Eメールキャンペーン、その他の機能などを検討しました。
ありがとうございます!そして、どちらに引っ越すことに決めましたか?
バックアップファイルに問題はありません。
代わりに、「他のプラットフォームチーム」に、uploads テーブルの url 列を検査して S3 バケットでファイルを探すように指示してください。バックアップファイルで探す必要はありません。
エクスポートは簡単ですが、別のシステムにインポートするのは簡単ではありません…
バックアップにS3ファイルを含めたい場合は、include_s3_uploads_in_backups を有効にする必要があります。
デフォルトでは、アップロード全体をS3からダウンロードしてtarballにパッケージ化し、再度アップロードするのは非常に時間がかかり、費用もかかる可能性があるため、この設定はオンになっていません。
@supermathie @RGJ @Canapin こんにちは!お元気ですか?画像移行でまだ問題があります。以下は、現在のバックアップ設定のスクリーンショットと、Insidedプラットフォームチームからの回答です。
エンジニアからの追加の注意事項は以下の通りです。
-
05/17に提供されたファイル(.tar形式)には、ファイル自体が含まれていません。
-
例えば、url列の値は「/uploads/db0693/original/2X/9/9fedfd520d43a0e03281fc4a6e636ad2116a99a3.gif」です。彼らは、パス(uploads/db0693/etc)をたどることで、提供されたデータ内のファイルを見つけることができます。したがって、このファイルはMissing-Files.txtドキュメントには含まれていません。
-
別のエントリには、次のURLがあります://upload-forum-blip.s3.dualstack.us-east-1.amazonaws.com/uploads/db0693/original/2X/d/da4a7824e7a48d73c0cb8724225e5dddc111ed63.jpeg。ここでは、データダンプのパス(uploads/db0693/etc)をたどって物理ファイルを見つけようとしましたが、このファイルは提供されたファイルの一部ではないため、リストに含まれています。
-
あなたがリンクしたコミュニティスレッドの回答に基づくと、S3バケット(upload-forum-blip.s3.dualstack.us-east-1.amazonaws.com)に移動し、バックアップのエクスポート時に取得するファイルに加えて、そこからアップロードフォルダ(およびサブフォルダ)をマニュアルでダウンロードする必要があると思われます。
これらの注意事項は理にかなっていますか?サポートチームの誰かがこれらのファイルをエクスポートするために私に連絡することは可能ですか?
ありがとうございます!
つまり、このファイルは、見つけたURL(こちら)に単純に配置されているということですか?
これらのエンジニアは、a)インポートスクリプト内からファイルをダウンロードすること、および/またはb) S3browserやCyberduckのようなツールを使用してこれらのファイルをダウンロードすることができないと、本気で言っているのですか?
あなたはCommuniteqでホストされているようですが、通常、お客様が自己管理しているS3バケットには近づきませんが、これを終わらせましょう。Communiteqサポートにチケットを開いていただければ、お客様の許可が記録されますので、これらのファイルのダウンロードを入手できるようにします。
しかし、もしこれが彼らからの「サポート」であるなら、そこに移動することを二度考える必要があるかもしれません。
include_s3_uploads_in_backups を推奨通り有効にしましたか?
また、S3 の認証情報はそこにあり、ファイルをダウンロードするために使用できます。







