Mysqlデータベースにデータを保持していた古いCMSを考えると、これを新しいD7インストールに移動するにはどうすればよいでしょうか。
MysqlデータベースにTitle
およびBody
(HTMLコンテンツを含む)列を含むコンテンツテーブルがあり、これをDrupalにインポートして入力できますか?必要に応じてギャップを埋めますか?私はメニューを再構築して他の緩い目的を結ぶことは大丈夫ですが、パッティングのカットアンドペーストの時間を恐れています。
:**以下のすばらしいアドバイスをすべて検討した後、mysqlクエリブラウザーで古いデータベースを開き、プロファイルテーブルでクエリを実行して、次のヘッダーを含むCSVファイルを取得しました...
次に、次のマッピングでFeed Importerを作成しました。
最も迅速で簡単な方法は、SQLからCSVに古いコンテンツをダンプし、フィードを使用してインポートすることです。これは、SQLプログラムを使用してDrupalをポイントアンドクリックすることで実行できます。これが1回限りの場合は、これで問題ありません。フィードには、ほとんどのフィールドタイプのマッピングがあります。
完全に統合する必要がある場合、またはより複雑な移行(フィールドコレクションへのインポートなど、ノードの作成以外の操作を行う)が必要な場合は、移行を使用して他のデータベースに直接クエリしてからフィールドをマッピングできます。 title
とbody
フィールドを移行するだけの場合、これはやり過ぎのようです。繰り返しますが、このような単純なものにはFeedsを使用します。
Phpを知っている場合は、 Migrate モジュールを使用してSELECT title, body FROM old_content
をDrupalページタイプのTitleおよびBodyフィールドにマップします。これは、Migrationクラスを使用して行います。プロジェクトページのドキュメントを参照してください。
Feeds プロジェクトを試すこともできます。
Wordpress以前のDrupalサイトから移行するための移行用のモジュールがあります。コンテンツ、メニューなどを新しい=に移動するための移行例として使用できます。 drupalサイト。
ページを移行し、コースとインストラクターのコンテンツ用のカスタムJoomlaコンテンツをDrupalコンテンツタイプ...に移行しました。ただし、すべての移行ユースケースは常に一意です。ツールを推奨しています。使用しました。
かなりの量の作業ですが、1つのオプションは、カスタムインポートスクリプトを作成することです。
通常、これを行うときは、デフォルトのindex.phpを使用して、それをimport.phpなどにコピーし、編集してbootstrapコードの下のすべてを削除します。
次に、リモートデータベースを照会するループを追加し、結果からノードオブジェクトを作成してから、node_save()
を実行します。ノードオブジェクトを最初から作成する方法はいくつかあります。検索するとそれらが表示されます。次に、インポートスクリプトを参照して、実行されるのを確認します。インポートが完了したら、サーバーからスクリプトを削除します。
これは、かなりの数の詳細を説明します。移行またはフィードに対するこれの主な利点は、インポートの処理方法についてより複雑なロジックを使用でき、データマッサージをより詳細に制御できることです。ただし、これらが必要な場合は、これが唯一の利点です。