Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
230
Migrate Drupal7 to Drpual8
kazukomurata
October 01, 2020
Tweet
Share
More Decks by kazukomurata
See All by kazukomurata
Drupal8 Migrate API
kazukomurata
0
260
Drupal8 Problem of multilingualization of contents
kazukomurata
0
76
Drupalのデモサイト作って明日までに!と言われたら
kazukomurata
0
600
Drupal8 CKEditor TIps
kazukomurata
0
350
Drupal7 & 8 翻訳コンテンツの罠
kazukomurata
0
250
Drupal7×Cloudfront×SSL
kazukomurata
0
230
Drupal8 State API と Configuration API
kazukomurata
0
250
Drupal8 2016/11
kazukomurata
0
63
Other Decks in Technology
See All in Technology
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
1
370
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
480
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Musicを例に~
otanet
0
320
個人のAWSアカウントをマルチ運用してみた
miura55
2
190
今さら聞けないDocker入門 〜 Dockerfileのベストプラクティス編
devops_vtj
21
5.7k
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
3
2.9k
コードや知識を組み込む / Incorporate Code and knowledge
ks91
PRO
0
150
2023年度にEMとして頑張ったこと
ikefukurou777
0
100
One engineer company with Ruby on Rails
rstankov
2
440
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
8
630
Building Dashboards as a Hobby
egmc
0
390
Azureの基本的な権限管理の勉強会
yhana
1
2.1k
Featured
See All Featured
A Philosophy of Restraint
colly
197
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
15
1.6k
Web Components: a chance to create the future
zenorocha
306
41k
Git: the NoSQL Database
bkeepers
PRO
423
63k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
How GitHub Uses GitHub to Build GitHub
holman
468
290k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Web development in the modern age
philhawksworth
203
10k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.7k
Making Projects Easy
brettharned
109
5.5k
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 • ただし、単純なファイル添付フィールドもメディア参照に切り替わってしまいそ う(ソースコードの雰囲気)
• それは・・・やりすぎかも・・・。