ブログを Craft 5 にアップデートした #craftcms
Craft 5 のアップデート検証を何回かやってみてとりあえず大丈夫そうなのでアップデート検証したもので切り替えた。
ほぼほぼ用意されている手順通りにやれば問題無い。
Upgrading from Craft 4 | Craft CMS Documentation | 5.x
https://craftcms.com/docs/5.x/upgrade.html
migration してくれて手順間違えなければ大体問題なさそう。
スペック的な問題なのか migration 中にDB接続がタイムアウトするのかなんかで止まることが何回かあった。
この辺はもう少し調べてもよかったかもしれない。
記事書いたりしながら様子見。
手順メモ
ざっと手順メモ
- アップデート用のサブドメイン作成、DNS設定
- アップデート用のDB作成・ユーザ設定
- サイトを最新版の Craft 4 にアップデート
- サイトのバックアップ取得
- アップデート用Craft 4 をインストール
- DBの接続先をアップデート用に変更
- アップデート用のドキュメントルートからの参照をアップデート用の Craft に設定
- サイトの .env / composer.json の内容をアップデート用 Craft の方に移植
- composer install
- バックアップをとったDBからリストア
- サイトの templates 類をアップデート用 Craft にも置く
- 使ってないプラグインとかを削除
- PHP8.2 に変更
- composer.json の Craft CMS のバージョンを5に変更
- composer update
- image-resizer, super-table がインストール出来なかったので一旦外した
- ./craft migrate/all
- 何回かエラーで止まったりしたのでDB空の復元と繰り返した
- テンプレートのエラー修正
- カテゴリをエントリに変更
- タグをエントリに変更
- Redactor を CKEditor に変更
- 動作確認
とりあえずこんな感じでアップデート用の環境でざっと動作確認して、問題なさそうなのでドメイン周りとかの設定変更して終了。
Redactor で使っていたものは大体そのまま使えそう or いらない感じだった。
Handle は CKEditor だと Mentions っぽいのだけど、ここは色々やる必要がありそうだったので後回し。
Handle- Redactor
https://imperavi.com/redactor/legacy/redactor-classic/plugins/handle/Mentions| CKEditor 5 Documentation
https://ckeditor.com/docs/ckeditor5/latest/features/mentions.html
新しいおもちゃという感じ。
カテゴリ、タグは将来エントリに変わるので、このタイミングでエントリに変えておいた。
./craft entrify/categories mmmCategory
./craft entrify/tags tag
こんなかんじのコマンドでカテゴリセットの情報からセクションと入力タイプを作ってくれて、使うセクションの設定まで完了。
データも置き換えてくれて、フィールドも変えてくれる。
最後に元のカテゴリセットを削除してくれる。
データが少ないからかもだけど楽ちん。
CKEditor に変更するのもちゃんとコマンドがあってありがたし。。。
./craft ckeditor/convert
お試しで色々入れたものとかがゴミとして残ってしまっているので定期的にキレイにしておかないとだな。。。