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
240
Migrate Drupal7 to Drpual8
kazukomurata
October 01, 2020
Tweet
Share
More Decks by kazukomurata
See All by kazukomurata
Drupal8 Migrate API
kazukomurata
0
310
Drupal8 Problem of multilingualization of contents
kazukomurata
0
86
Drupalのデモサイト作って明日までに!と言われたら
kazukomurata
0
730
Drupal8 CKEditor TIps
kazukomurata
0
410
Drupal7 & 8 翻訳コンテンツの罠
kazukomurata
0
260
Drupal7×Cloudfront×SSL
kazukomurata
0
250
Drupal8 State API と Configuration API
kazukomurata
0
270
Drupal8 2016/11
kazukomurata
0
68
Other Decks in Technology
See All in Technology
組み込みアプリパフォーマンス格闘記 検索画面編
wataruhigasi
1
140
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
27
23k
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
180
Working as a Server-side Engineer at LY Corporation
lycorp_recruit_jp
0
370
型情報を用いたLintでコード品質を向上させる
sansantech
PRO
2
140
いまからでも遅くないコンテナ座学
nomu
0
130
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
39
16k
AWS re:Invent 2024 ふりかえり勉強会
yhana
0
460
OCI技術資料 : ファイル・ストレージ 概要
ocise
3
11k
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
380
非機能品質を作り込むための実践アーキテクチャ
knih
5
1.6k
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
160
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Documentation Writing (for coders)
carmenintech
67
4.5k
Gamification - CAS2011
davidbonilla
80
5.1k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
The Cult of Friendly URLs
andyhume
78
6.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
The Cost Of JavaScript in 2023
addyosmani
46
7k
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 • ただし、単純なファイル添付フィールドもメディア参照に切り替わってしまいそ う(ソースコードの雰囲気)
• それは・・・やりすぎかも・・・。