$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Migrate Drupal7 to Drpual8
Search
kazukomurata
October 01, 2020
Technology
0
280
Migrate Drupal7 to Drpual8
kazukomurata
October 01, 2020
Tweet
Share
More Decks by kazukomurata
See All by kazukomurata
長期運用のためのDrupal開発入門
kazukomurata
0
37
Drupal8 Migrate API
kazukomurata
0
340
Drupal8 Problem of multilingualization of contents
kazukomurata
0
130
Drupalのデモサイト作って明日までに!と言われたら
kazukomurata
0
840
Drupal8 CKEditor TIps
kazukomurata
0
430
Drupal7 & 8 翻訳コンテンツの罠
kazukomurata
0
270
Drupal7×Cloudfront×SSL
kazukomurata
0
280
Drupal8 State API と Configuration API
kazukomurata
0
290
Drupal8 2016/11
kazukomurata
0
72
Other Decks in Technology
See All in Technology
安いGPUレンタルサービスについて
aratako
2
2.7k
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
130
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
240
MapKitとオープンデータで実現する地図情報の拡張と可視化
zozotech
PRO
1
130
Karate+Database RiderによるAPI自動テスト導入工数をCline+GitLab MCPを使って2割削減を目指す! / 20251206 Kazuki Takahashi
shift_evolve
PRO
1
640
因果AIへの招待
sshimizu2006
0
940
Playwright x GitHub Actionsで実現する「レビューしやすい」E2Eテストレポート
kinosuke01
0
520
チーリンについて
hirotomotaguchi
6
1.7k
AWS re:Invent 2025で見たGrafana最新機能の紹介
hamadakoji
0
270
エンジニアリングをやめたくないので問い続ける
estie
2
960
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
110
eBPFとwaruiBPF
sat
PRO
4
2.5k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Agile that works and the tools we love
rasmusluckow
331
21k
The Cost Of JavaScript in 2023
addyosmani
55
9.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Documentation Writing (for coders)
carmenintech
76
5.2k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Designing for humans not robots
tammielis
254
26k
Transcript
Migrate Drupal7 to Drupal8 @kazunoko_m
Drupal8で移行といえば・・・ Drupal8サイト Drupal9サイト Drupal7サイト 他のCMS etc... HTML群
今日の観点 Drupal8サイト Drupal9サイト Drupal7サイト HTML群 他のCMS etc...
何が移行できる • サイトの設定からコンテンツのデータまで全て • と、言うもののコントリビューションモジュールは D8版が存在していないと厳し い
手順 1. 新規インストールが完了したDrupal8を用意 2. D7で有効だったモジュールをD8側でもインストール・有効化 3. 移行のモジュールを有効化 4. 移行実行 a.
画面から b. drushから 5. カスタムテーマ・モジュールのD8版作成
移行のモジュール
画面から実行 1/6 URL : /upgrade
画面から実行 2/6
画面から実行 3/6
画面から実行 4/6
画面から実行 5/6
画面から実行 6/6
drushから実行 1/2 • 参考 : Upgrade using Drush • コントリビューション
Migrate Plus, Migrate Tools が必要 1. 移行用のconfigを生成 a. https://qiita.com/masam10/items/5b0d14d2af0115307d27 の設定を自動生成している 2. 設定系の移行実行 3. コンテンツ系の移行を実行 4. 実行結果を確認
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'
Tips という名のつまずいたところ • Field collection移行 • 多言語コンテンツ:デフォルト言語が変わってしまう • テキストのフォーマット混合問題 •
D8にテキストフィルター、フォーマッター、ウィジェットが無い • メディア
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
多言語コンテンツ デフォルト言語が変わる • 翻訳言語が存在する場合、言語コードの abc順に登録される。データ構造 上、最初に登録される言語がオリジナルになる。 • オリジナル:日本語(ja)・翻訳:英語(en)の場合、英語(en)が先に登録されるの で、オリジナル・翻訳が逆転する。 •
パッチにて、オリジナル言語を先に登録するようにソート順を追加する。 • https://gist.github.com/kazukomurata/f4e59bdbc7ad645e1d52203d7 6380017 ◦ おそらくPostgreSQLではソート順を逆にする必要がある。
テキストフォーマット混合問題 • https://www.drupal.org/docs/upgrading-drupal/known-issues-when-u pgrading-from-drupal-6-or-7-to-drupal-8-or-9 • テキスト、テキストエリアのフィールドを複数のコンテンツタイプで共有してい る場合に発生する可能性がある • D7とD8の構造の違い
D8にテキストフィルター、フォーマッター、ウィ ジェットが無い • テキストフィルター ◦ 独自作成か・・・解がない。 • フォーマッター ◦ Twigの方が早い
• ウィジェット ◦ 代替モジュールは結構ある
メディア • D7にもメディアがあったが、D8と構造が異なる。 • ファイル群をメディアへ移行するモジュールがある。 • https://www.drupal.org/project/media_migration • ただし、単純なファイル添付フィールドもメディア参照に切り替わってしまいそ う(ソースコードの雰囲気)
• それは・・・やりすぎかも・・・。