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'
);
SQLiteでbakeを使用する際は、database.phpの
『'database'=>』のパス設定を一時的に変更しなくては
ならないようです…。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
【環境】CakePHP1.2.5, PHP5, SQLite2
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
【通常の設定】
webrootフォルダが基準のため、詳しくは
(database.php)
class DATABASE_CONFIG
{
var $default = array
(
'driver' => 'sqlite',
'database' => './db/hoge.sqlite'
);
}
『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を使用する場合は、いつもこんなめんどくさいことを
しなくちゃいけないんでしょうか…?