Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Migrate Drupal7 to Drpual8

Migrate Drupal7 to Drpual8

29c60cc9d6ccf002660af74d52800435?s=128

kazukomurata

October 01, 2020
Tweet

Transcript

  1. Migrate Drupal7 to Drupal8 @kazunoko_m

  2. Drupal8で移行といえば・・・ Drupal8サイト Drupal9サイト Drupal7サイト 他のCMS etc... HTML群

  3. 今日の観点 Drupal8サイト Drupal9サイト Drupal7サイト HTML群 他のCMS etc...

  4. 何が移行できる • サイトの設定からコンテンツのデータまで全て • と、言うもののコントリビューションモジュールは D8版が存在していないと厳し い

  5. 手順 1. 新規インストールが完了したDrupal8を用意 2. D7で有効だったモジュールをD8側でもインストール・有効化 3. 移行のモジュールを有効化 4. 移行実行 a.

    画面から b. drushから 5. カスタムテーマ・モジュールのD8版作成
  6. 移行のモジュール

  7. 画面から実行 1/6 URL : /upgrade

  8. 画面から実行 2/6

  9. 画面から実行 3/6

  10. 画面から実行 4/6

  11. 画面から実行 5/6

  12. 画面から実行 6/6

  13. drushから実行 1/2 • 参考 : Upgrade using Drush • コントリビューション

    Migrate Plus, Migrate Tools が必要 1. 移行用のconfigを生成 a. https://qiita.com/masam10/items/5b0d14d2af0115307d27 の設定を自動生成している 2. 設定系の移行実行 3. コンテンツ系の移行を実行 4. 実行結果を確認
  14. drushから実行 2/2 移行用のconfigを生成 drush migrate -upgrade --legacy-db-url=mysql://user:password@server/db --legacy-root=http://example.com --configure-only 設定系の移行実行

    drush migrate:import --group=migrate_drupal_7 --tag=Configuration --execute-dependencies コンテンツ系の移行を実行 drush migrate:import --group=migrate_drupal_7 --tag=Content --execute-dependencies 実行結果を確認 drush migrate:status --group='migrate_drupal_7'
  15. Tips という名のつまずいたところ • Field collection移行 • 多言語コンテンツ:デフォルト言語が変わってしまう • テキストのフォーマット混合問題 •

    D8にテキストフィルター、フォーマッター、ウィジェットが無い • メディア
  16. Field collection移行 • Drupal8にField collectionはない • Paragraphsに移行する • 対応パッチ: https://www.drupal.org/project/paragraphs/issues/2911244

    • 8.x-1.x-dev をインストールでOK。 https://git.drupalcode.org/project/paragraphs/-/network/8.x-1.x
  17. 多言語コンテンツ デフォルト言語が変わる • 翻訳言語が存在する場合、言語コードの abc順に登録される。データ構造 上、最初に登録される言語がオリジナルになる。 • オリジナル:日本語(ja)・翻訳:英語(en)の場合、英語(en)が先に登録されるの で、オリジナル・翻訳が逆転する。 •

    パッチにて、オリジナル言語を先に登録するようにソート順を追加する。 • https://gist.github.com/kazukomurata/f4e59bdbc7ad645e1d52203d7 6380017 ◦ おそらくPostgreSQLではソート順を逆にする必要がある。
  18. テキストフォーマット混合問題 • https://www.drupal.org/docs/upgrading-drupal/known-issues-when-u pgrading-from-drupal-6-or-7-to-drupal-8-or-9 • テキスト、テキストエリアのフィールドを複数のコンテンツタイプで共有してい る場合に発生する可能性がある • D7とD8の構造の違い

  19. D8にテキストフィルター、フォーマッター、ウィ ジェットが無い • テキストフィルター ◦ 独自作成か・・・解がない。 • フォーマッター ◦ Twigの方が早い

    • ウィジェット ◦ 代替モジュールは結構ある
  20. メディア • D7にもメディアがあったが、D8と構造が異なる。 • ファイル群をメディアへ移行するモジュールがある。 • https://www.drupal.org/project/media_migration • ただし、単純なファイル添付フィールドもメディア参照に切り替わってしまいそ う(ソースコードの雰囲気)

    • それは・・・やりすぎかも・・・。