web-dev-qa-db-ja.com

古いカスタムCMSからのコンテンツの移行

最初の質問

Mysqlデータベースにデータを保持していた古いCMSを考えると、これを新しいD7インストールに移動するにはどうすればよいでしょうか。

MysqlデータベースにTitleおよびBody(HTMLコンテンツを含む)列を含むコンテンツテーブルがあり、これをDrupalにインポートして入力できますか?必要に応じてギャップを埋めますか?私はメニューを再構築して他の緩い目的を結ぶことは大丈夫ですが、パッティングのカットアンドペーストの時間を恐れています。

フォローアップと結果

:**以下のすばらしいアドバイスをすべて検討した後、mysqlクエリブラウザーで古いデータベースを開き、プロファイルテーブルでクエリを実行して、次のヘッダーを含むCSVファイルを取得しました...

  • ファーストネーム
  • ミドルネーム
  • 苗字
  • 住所(1
  • アドレス2
  • 電話
  • Eメール
  • 題名
  • cvFilePublic
  • pageContent
  • lastUpdateDate
  • pageName
  • pageURI
  • pageID

次に、次のマッピングでFeed Importerを作成しました。

enter image description here

2
Rick

最も迅速で簡単な方法は、SQLからCSVに古いコンテンツをダンプし、フィードを使用してインポートすることです。これは、SQLプログラムを使用してDrupalをポイントアンドクリックすることで実行できます。これが1回限りの場合は、これで問題ありません。フィードには、ほとんどのフィールドタイプのマッピングがあります。

完全に統合する必要がある場合、またはより複雑な移行(フィールドコレクションへのインポートなど、ノードの作成以外の操作を行う)が必要な場合は、移行を使用して他のデータベースに直接クエリしてからフィールドをマッピングできます。 titlebodyフィールドを移行するだけの場合、これはやり過ぎのようです。繰り返しますが、このような単純なものにはFeedsを使用します。

5
Brant Wynn

Phpを知っている場合は、 Migrate モジュールを使用してSELECT title, body FROM old_contentをDrupalページタイプのTitleおよびBodyフィールドにマップします。これは、Migrationクラスを使用して行います。プロジェクトページのドキュメントを参照してください。

Feeds プロジェクトを試すこともできます。

Wordpress以前のDrupalサイトから移行するための移行用のモジュールがあります。コンテンツ、メニューなどを新しい=に移動するための移行例として使用できます。 drupalサイト。

ページを移行し、コースとインストラクターのコンテンツ用のカスタムJoomlaコンテンツをDrupalコンテンツタイプ...に移行しました。ただし、すべての移行ユースケースは常に一意です。ツールを推奨しています。使用しました。

5
tenken

かなりの量の作業ですが、1つのオプションは、カスタムインポートスクリプトを作成することです。

通常、これを行うときは、デフォルトのindex.phpを使用して、それをimport.phpなどにコピーし、編集してbootstrapコードの下のすべてを削除します。

次に、リモートデータベースを照会するループを追加し、結果からノードオブジェクトを作成してから、node_save()を実行します。ノードオブジェクトを最初から作成する方法はいくつかあります。検索するとそれらが表示されます。次に、インポートスクリプトを参照して、実行されるのを確認します。インポートが完了したら、サーバーからスクリプトを削除します。

これは、かなりの数の詳細を説明します。移行またはフィードに対するこれの主な利点は、インポートの処理方法についてより複雑なロジックを使用でき、データマッサージをより詳細に制御できることです。ただし、これらが必要な場合は、これが唯一の利点です。

1
mpdonadio