CakePHP

SQLite3を使えるようにする【してやんよ】

CakePHP

現在リリースされている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あたりで正式対応するんですかな。

スポンサーリンク
記事を書いた人

システムえんじにゃー🐈
趣味はエレキギター、自転車など。作曲したい。
World of Warshipsやってます。
記事に関する質問はお気軽にどうぞ。

surface0 (さーふぇす)をフォローする

コメント

  1. […] [CakePHP] SQLite3を使えるようにする【してやんよ】| Rain or Shine […]

タイトルとURLをコピーしました