Drupal9からDrupal10へアップグレードする

Drupal9からDrupal10へアップグレードする

1年とちょっとぶりの登場です。お久しぶりです。

バックエンド
エンジニア

こっちゃん

皆様お変わりありませんでしょうか。

バックエンド
エンジニア

こっちゃん

前回(2022/5/20)は、Drupalについてざっくりと紹介をしました。

今回はDrupalのアップグレードについて書いていきます。

2021年にリリースされたDrupal9が、2023年11月にサポート終了となるため、

記事のネタにしちゃえという魂胆です。さくさくいきます。

環境

■アップグレード前
Drupal9.5.10
lando v3.18.0(v3.6.0以降PHP8.1対応)
PHP8.1

■アップグレード後
Drupal10.1.2
lando v3.18.0
PHP8.1

※Drupalの管理画面から現在使用しているバージョンを確認する場合は、
 画面上部のツールバーから、「レポート」⇒「サイトの状態」で確認できます。

アップグレード前の確認

まずは現在使用しているモジュールなどが、アップグレード後でも使用できるかを確認します。

アップグレードしたバージョンと互換性がなくて、今まであった機能が使えなくなるのは嫌ですよね。

手順

1.Upgrade Statusというモジュールをインストールします。

このモジュールは、サードパーティーのPHPライブラリに依存するため、

コマンドライン(Macはターミナル)でインストールする必要があります。

2.インストールできたら、ツールバーの「レポート」⇒「Upgrade Status」へ遷移します。

3.画面内の、黄色、赤で表示されているモジュールやPHPなどをアップデート、不要であれば削除します。

【Upgrade Status の項目について】

■ 更新

更新

 更新可能なモジュールなどが表示されます。

 更新は、「レポート」⇒「利用可能なアップデート」の「更新」タブから行えます。

■ 削除

削除

 Drupal10に互換性のないモジュールなどが表示されます。

 削除する場合はコマンドで削除できます。

 composer remove モジュール名 //composerでインストールしている場合
 lando drush pm:uninstall モジュール名 //landoでインストールしている場合

■ Drupal core and hosting environment

Drupal core and hosting environment

 Drupalを構成する環境情報が表示されています。ここの「状態」は全てチェック状態にします。

 (上記画像の赤い部分では、PHPのバージョンについて言及されてます。)

■ Compatible with next major Drupal core version

Compatible with next major Drupal core version

 Drupal10と互換性があり、アップグレードしても問題ないモジュールなどが表示されています。

 特に何もしなくて大丈夫です。

Drupal10へアップグレード

いよいよDrupalをアップグレードします。

内容としては、Drupalコア(本体)のアップグレード、DBのアップデートを行います。

手順

1.drupal 10.1.2を開いて、用途に合ったコマンドをコピーします。

今回はインストール欄に3つある内の C のコマンドを使用します。

// A.新しいプロジェクトを作成する
composer create-project drupal/recommended-project:10.1.2 "install-dir"
// B.現在リリースされている最新バージョンに更新する
composer update "drupal/core-*" --with-all-dependencies
// C.バージョンを指定して更新する
composer require drupal/core-recommended:10.1.2 drupal/core-composer-scaffold:10.1.2 drupal/core-project-message:10.1.2 --update-with-all-dependencies

composer update "drupal/core-*" --with-all-dependenciesこのコマンドでも恐らく可能ですが、

以前Drupal9系がインストールされてしまった経験があるので、バージョンを指定してインストールします。

2.1でコピペしたコマンドを実行

【エラー】

画像のようなエラーが出てしまったら下記コマンドで書き込み権限を付与して、

もう一度1のコマンドを実行してみてください。(ドキュメントルートは自身のものに書き換えてください。)

chmod u+w ドキュメントルート/sites/default

3.最後にデータベースのアップデートを行います。

トップページのURL末尾に /update.php を付けて開きます。

例:https://www.demohoge.com/update.php

すると、データベース更新の画面に遷移するので、バックアップなど問題なければ「継続」を押します。

問題なく終わったらグレードアップ完了です。

あとはサイトが閲覧できるか、エラーが起きていないかなど確認したら終わりです。

お疲れさまでした。

おわりに

ここまで読んでいただいてありがとうございます。

またいつか執筆することがあるかもしれないので、その時は興味なくても読んでみてください。

まだまだ暑いので皆様お体ご自愛下さい。

ところで

ロジカルスタジオでは、フロントエンドエンジニアを募集しております!

下記リンクからお待ちしております!