6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Cakephp1.3から2.10にアップデート①

Posted at

案件でCakePHPをバージョンアップする機会があったので、自分なりにまとめてみました。

##ダウンロード
バージョンアップ対象のCakePHPをGitHubよりダウンロードする

##フォルダ・ファイルの確認

CakePHP1.3のフォルダ構成
mywebsite/
     app/
        controllers/
        models/
        views/
        ...
        webroot/
     cake/
     plugins/
     vendors/
     index.php

※不必要なフォルダ・ファイルがあれば削除してください。

##Upgradeシェル

実行コマンド 
./Console/cake upgrade all
確認用コマンド 
./Console/cake upgrade all --dry-run
プラグイン含む実行コマンド 
./Console/cake upgrade all --plugin YourPluginName
ヘルプ 
./Console/cake upgrade --help

1.3から2系へとアップデートを行うにはUpgradeシェルを利用するといいです。
この機能があったので、3系ではなく2系へのアップデートを行う事に決めました。

##アップデート処理
フォルダ構成を以下のように調整してください。
app/index.phpとapp/webroot/index.phpはCakePHP2のものに変更してください。

mywebsite/
     app/                ->アプリ
        Console/         ->CakePHP2のConsoleフォルダ
        controllers/
        models/
        views/
        ...
        webroot/
            index.php
            ...
     app-backup/         ->CakePHP1.3のアプリのバックアップ
     cake/               ->CakePHPの1.3バージョン
     lib/                ->CakePHPの2.10バージョン
        Cake/
     plugins/
     vendors/
     index.php

フォルダ構成の調整が完了しましたら以下のコマンドを実行します。
./Console/cake upgrade all --dry-run
実行をするとアップデートで行われる処理の手順がコンソール画面へ表示されます。

確認を行い問題がない場合は以下のコマンドを実行し、アップデート処理を行います。
./Console/cake upgrade all
※プラグインを含むアップデートを行う場合は、プラグインが2系に対応しているかどうか確認が必要になるので注意してください。

##コマンド実行後
・.htaccessファイルの一部変更

RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
↓
RewriteRule ^(.*)$ index.php [QSA,L]

・ファイル移動がうまくいかなかった場合
私の環境ではいくら試してもviewsフォルダのみファイルの移動に失敗しました。
結局ファイル移動と名前(キャメル型)の変更を手動で行うことになりました。

・設定ファイルのマージ
以下の設定ファイルは変更されないので、手動で変更を行ってください。
app/Config/bootstrap.php
app/Config/core.php
app/Config/routes.php

・ソース内調整
作業工程は多い為、別の記事で紹介致します。

##まとめ
作業自体は手順さえ把握していればそんなに時間が掛かる事ではないです。
但し、Upgradeシェルも完璧なものではないので手動での調整が必要な箇所もだいぶあります。
今回初めての作業だったこともあり、調べ物や作業手順などの確認事項が多かったので備忘録としてまとめてみました。

#参考にしたサイト
2.0 移行ガイド
Upgrade シェル
CakePHP2.x系のバージョンアップ手順
CakePHP1.3→2.6のアップグレード時に発生した作業や注意点について

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?