データベースクリーナーツール?

Discourse には Database Cleaner ツールがありますか?

このツールは、データベースから余分な構成データを削除します。このツールは、Discourse のデフォルトのインストールに含まれていない、追加された列、構成行、およびテーブルをデータベースから削除します。このツールは、すべてのコンテンツとサイト設定はそのままにします。主な焦点は、データベースからすべてのプラグインとテーマコンポーネントを削除することです。

私が考えられる最善の解決策は、バックアップから新しいインスタンスをセットアップすることです :slight_smile:

それが、多くの手作業なしでフォーラムデータを保持しながら、最もクリーンな方法です。

ただし、バックアップにはバックアップ元のインスタンスに存在したすべてのテーブルが含まれ、プラグインを新しいインスタンスにインストールしていなくても、プラグインによって作成されたテーブルが含まれる可能性があると私は信じています。

自分でやりたい場合は、rakeタスクを使用してデータベースを削除し、新しいデータベースを作成して、すべてのマイグレーションを実行できますが、それはすべてのデータを削除します。

これが、「新しい環境をインストールしてバックアップを復元する」ことが最善の解決策ではない理由です。データベースには、古いコンポーネントやプラグインの残骸がまだ残っています。

データベースのコンポーネントとプラグインの変更をすべて削除し、データとサイトの設定はそのまま残す、最後の手段となるツールが必要です。このツールは、新しいインストールソリューションに進む前に実行できます。

構築するのは難しいと思います。

  1. 一部のマイグレーションは元に戻せません。
  2. 多くのマイグレーションはプラグイン内に保存されており、プラグインがインストールされていない場合は存在しないため、元に戻すものがありません。

しかし、構築を試してみて、これらの問題に対処できるかどうか確認してください。

「いいね!」 1

つまり、カテゴリやタグを含む人間のコンテンツのみを移動するためのツールは一切ないということですか?

「マイグレーション」という言葉を使っていますが、どういう意味でしょうか?

ユーザーデータやコンテンツをシステムに「移行」することを指す言葉です。デフォルトのデータベース構造を変更することは決してありません。

データベース構造を変更する可能性があるのはプラグインだけです。Discourse がデータベース構造を変更する他の方法を許可していない限り。

「いいね!」 1

これらはDiscourseの/db/migrationsフォルダ内にあり、それぞれ(それらを使用する)プラグイン内にあります。

「いいね!」 1