5月 27

05.[補足]環境を移す

go @ 6:16 AM

ちょっと説明が足りないので補足しておきます。
例えば一旦MacOSXで開発を始めて、途中から別の場所でWindowsに移して開発を続けるというような場合にどうするか、という話です。
Windowsの場合はターミナルならぬコマンドプロンプトで操作しなければいけないので、パスを通しておかないとコマンドを打ち込むのが大変に面倒です。
例えばapacheが c:¥Program Files の中に設置されていたりすると果てしなくだるいです。
ということで、整理してみます。
最初に、 C:\cake を作ってその中に解凍してみてはどうでしょうか。
そうすると、cakeコマンドへのパスは

C:\cake\cake\console

となります。
こいつにパスを通しておきます。
「コントロールパネル」から「システムの詳細設定」→「環境変数」→「システム環境変数(S)」と進んで、「Path」を編集します。一番最後に以下を追加。

;C:\cake\cake\console

コマンドプロンプトを立ち上げて、適当な場所で

cake

と打って、起動することを確認しておきます。
で、apacheのドキュメントルート以下に移動します。

cd apache\htdocs
cake bake project yott

こう打つと、
こんなメッセージが出て、

Welcome to CakePHP v1.2.3.8166 Console
—————————————————————
App : htdocs
Path: C:/apache/htdocs
—————————————————————
Bake Project
Skel Directory: C:\cake\cake\console\libs\templates\skel
Will be copied to: C:/apache/htdocs/yott
—————————————————————
Look okay? (y/n/q)
[y] >
Do you want verbose output? (y/n)
[n] >
—————————————————————
Created: yott in C:/apache/htdocs/yott
—————————————————————

Creating file C:apache/htdocs/yott/views\pages\home.ctp
Wrote C:/apache/htdocs/yott/views\pages\home.ctp
Welcome page created
Random hash key created for ‘Security.salt’
CAKE_CORE_INCLUDE_PATH set to C:\cake in webroot/index.php
CAKE_CORE_INCLUDE_PATH set to C:\cake in webroot/test.php
Remember to check these value after moving to production server
1

新しいprojectとして yott が作られます。htdocs 以下に yott フォルダーが作られて、app フォルダーの中味がコピーされています。
ブラウザから http://localhost/yott/ を開くと

Sweet, “Yott” got Baked by CakePHP!

なんてメッセージが出ています。
Security.salt も自動で生成してくれたようです。
なにやら謎の pages_controller も作られたようです(!?)。

あとは今作られた yott ディレクトリに入って、以下でデータベース設定をやって、

cd yott
cake bake

macの環境で書き出した schema.php を /yott/config/sql/schema.php にコピーしてから、以下を実行

cake schema run create

すると、以下のように

Welcome to CakePHP v1.2.3.8166 Console
—————————————————————
App : yott
Path: C:/apache/htdocs/yott
—————————————————————
Cake Schema Shell
—————————————————————
Error: schema.php could not be loaded

エラーになります。
そこで、schema.php の以下の部分を

class AppSchema extends CakeSchema {
	var $name = 'App';

Yott に書き換えます。

class YottSchema extends CakeSchema {
	var $name = 'Yott';

再度、

cake schema run create

今度はOKです。

Welcome to CakePHP v1.2.3.8166 Console
—————————————————————
App : yott
Path: C:/apache/htdocs/yott
—————————————————————
Cake Schema Shell
—————————————————————

The following table(s) will be dropped.
favorites
members
members_favorites
types
users

Are you sure you want to drop the table(s)? (y/n)
[n] >

The following table(s) will be created.
favorites
members
members_favorites
types
users

Are you sure you want to create the table(s)? (y/n)
[y] >
Creating table(s).
favorites updated.
members updated.
members_favorites updated.
types updated.
users updated.
End create.

無事テーブルが作られました。
ちなみに、名前を yott ではなく、sample_a とかにしてしまった場合は、上述の schema.php の書き換える部分は

class SampleASchema extends CakeSchema {
	var $name = 'SampleA';

になりますのでご注意を。

>>次のページ「bakeする(model)」へ

Comments are closed.

here comes