こんにちは。以前に同じ質問がされたことは承知しておりますが、申し訳ありません。この件について慎重に調査し、いくつかの既存のスレッド(以下のものを含む)を確認しました。
私の状況はそれらと完全に一致していない、あるいは十分に近いものではないため、100% 理解できていない部分があります。私の場合は、Discourse をメインドメインにインストールし、それを専用に使用しようと考えていました。そのため、現在のインストール場所は example.com ですが、これを discourse.example.com に変更し、メインドメインには別のサーバーでブログをインストールしたいと考えています。
手順には「サイト設定から古いドメイン名を削除する」と記載されていますが、ドメイン名は実際には同じドメインのサブドメインになるため、その方法がわかりません。
これは、ドメイン名を app.yml で編集する(これは比較的簡単そうです)必要があることを意味し、その後、参照された投稿に記載されている通り、remap、rake posts、rebake を実行する必要があるのでしょうか?
追加の情報をご提供いただける場合は、事前に感謝いたします。よろしくお願いいたします。
技術的には、sub.example.com は example.com の一部ではありますが、異なるドメインです。手順に従って example.com を discourse.example.com に置き換えて問題なく実行できます。これにより、フォーラムがサブドメインに移行されます。
再構築とは別に、マッピングコマンドは以下のようになります:
discourse remap example.com discourse.example.com
ああ、なるほど、確かにその通りですね。
最後の質問ですが、ソーシャルログインに関する問題についてです。現在はメインドメインに設定されていますが、「設定を更新する」とある場合、ログインプロバイダー(私の場合は Facebook と Twitter)に対してログインアプリ自体の設定を更新するということでしょうか?それで合っていますか?
すべての外部サービスでドメインを更新する必要があります。以下が含まれます:
ソーシャルログイン
分析
稼働状況監視
その他
例:Facebook 開発者コンソールにアクセスして、コールバック URL と許可されたドメインを更新し、Twitter についても同様に行ってください。
ありがとうございます、とても分かりやすかったです。
フォーラムを新しいドメインに移動しましたが、リマップを直接実行しなかったため、新しいドメインと古いドメインの両方を持つ投稿がいくつかあり、リマップを実行すると失敗する競合が発生しています。
Error: ERROR: duplicate key value violates unique constraint "unique_post_links"
DETAIL: Key (topic_id, post_id, url)=(23737, 113202, https://MYDOMAIN/) already exists.
The remap has only been partially applied due to the error above. Please re-run the script again.
これを無視して少なくとも他のすべてをリマップする方法はありますか?または、データベースからそのエントリを削除できますか?数年前に同様のことをしましたが、pgsql にアクセスする方法が見つかりません。