てきとうなさいと べぇたばん

CakePHP1.3から2系へアップグレード

CakePHP

このサイトは、CakePHPで動作している。バージョンは1.3だった。しかし、これからはCakePHPは2系の時代である。1.3から脱却しないといけない。

アップグレードの方法

cake upgrade all

とりあえず基本の部分は、CakePHPのupgrade-shellを使った。

プラグイン

CakePHP1.3では少しのプラグインを使用していたのだけど、CakePHP2系へとアップグレードする際には多少の変更が必要だった。

Mediaプラグイン

Mediaプラグインとは、ファイルのアップロードに対応しているプラグイン。しかし、本家は1.3系で止まっていたので、他の人がフォークしていたMediaプラグインを使用した。

管理画面上でViewのElementにあるMedia.attachmentから画像の削除ができなくなっていた。バリデーションで引っかかって先へ進めない。

しかたがないので、Attachmentモデルを直接操作する管理画面を作成、deleteアクションで削除できるようにした。TransferBehavior経由だとは思うけど、Attachment->deleteでレコードを削除したらファイルも一緒に削除されるようだ。

HtmlCacheプラグイン

こちらもフォークされているHtmlCacheプラグインを使用。

あと、もろもろあるけど

大体はうまく動きました。微調整を加えれると、うまく動作しました。プラグインも大体はバージョン2系のプラグインがありますが、1.3時代のバッドノウハウを使用していてうまく動かない機能もありました。

テストコードはきちんと付けるべきですね。