現在リリースされているCakePHPはSQLite2にしか対応しておらず、SQLite3はそのままでは使えないので、使えるようにしてみました。
なのでちょっとメモ。
CakePHP 1.2.3.8166 Stableにで確認。
以前からCPA-LABに独自で作られたデータベースオブジェクトがあるのは知っていました。
302 Found
しかし、最近のバージョンで追加されたfind
時のgroup
が使えないなどちょっと困ったので、公式のが無いかなと探してみました。
すると公式のTracに一応ありました。
https://trac.cakephp.org/ticket/3003
では、さっそく導入♪
ダウンロードする
上記のURLから最新のソースとパッチファイルをダウンロードします。
PHP5とPDO関数の導入が必要のようです。まぁそれは当たり前でしょうな。
- dbo_sqlite3.5.php
- correct_resultset.dbo_sqlite3.patch
ダウンロードしたファイルはどこか同じディレクトリ内に置いておきます。dbo_sqlite3.5.phpはdbo_sqlite3.phpにリネームします。
パッチを当てる
Linuxの方はダウンロードしたファイルがあるディレクトリをカレントにして下記のコマンドを実行してください。Windowsでは。。。ググってください。
# patch > correct_resultset.dbo_sqlite3.patch
組み込む
パッチを当てたらapp/models/datasources/dbo
に放り込みます。(ディレクトリが無かったら作ってね!)そして、
app/config/database.php
に設定を書きます。書き方例は下記のとおり。
database
はフルパスらしいです。
class DATABASE_CONFIG {
var $default = array(
'driver' => 'sqlite3',
'persistent' => false,
'host' => 'localhost',
'login' => '',
'password' => '',
'database' => '/path/to/database.db'
);
}
あとがき
CakePHPはなかなかSQLite3には対応してくれないですが、1.3あたりで正式対応するんですかな。
コメント
[…] [CakePHP] SQLite3を使えるようにする【してやんよ】| Rain or Shine […]