CakePHP SQLiteで焼くときのdatabase.phpのパス設定



(最終更新日: 2014-01-13)
CakePHP 2.4.3では、Bake用にパスを一時的に変更する必要などはありません。

(SQLiteファイルの場所)
/app/database/test.sqlite3

(/app/Config/database.php の記述)
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Sqlite',
'database' => './database/test.sqlite3'
);



CakePHP+SQLiteで制作すべく、勉強中です。


SQLiteでbakeを使用する際は、database.php
『'database'=>』のパス設定を一時的に変更しなくては
ならないようです…。

                                                                                          • -

【環境】CakePHP1.2.5, PHP5, SQLite2

                                                                                          • -


【通常の設定】


(database.php)
class DATABASE_CONFIG
{
var $default = array
(
'driver' => 'sqlite',
'database' => './db/hoge.sqlite'
);
}
webrootフォルダが基準のため、詳しくは
cakePHPのフォルダ/app/webroot/db/hoge.sqlite
SQLiteファイルが入っています。


ところが、これではcake.phpのbakeコマンドを実行するとき、SQLiteファイルを
見つけられなくなってしまいます。
cake.phpのパスは
cakePHPのフォルダ/cake/console/cake.php
なので、上の設定だと
cakePHPのフォルダ/cake/console/db/hoge.sqlite
を探してしまうようで…。


しかたなく、bake用に一時的にパスを書き換えました。
【bake用の設定】


(database.php)
class DATABASE_CONFIG
{
var $default = array
(
'driver' => 'sqlite',
'database' => '../../app/webroot/db/hoge.sqlite'
);
}

SQLiteを使用する場合は、いつもこんなめんどくさいことを
しなくちゃいけないんでしょうか…?