CakePHP1.3.2でSQLite3を使う(改訂版)
bakeできなかったので、下記を参考にやり直しました。
CakePHP SQLite - Stack Overflow
bake all するとWarningが続々出ますが、一応動きました。
- cakephp’s datasources at master - GitHub から「CakePHP Datasources Plugin v0.2」をダウンロードする
- 「cakePHPディレクトリ/app/plugins/datasources」内に解凍する
- プラグイン内の「models/datasources/dbo/dbo_sqlite3.php」を編集し、「class DboSqlite3 extends DboSource {」より前の行に「App::import(‘Datasource’,‘DboSource’);」を追加する
<?php
/**
* SQLite layer for DBO.
*
* PHP versions 4 and 5
*
* CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
* Copyright 2005-2009, Cake Software Foundation, Inc. (http://cakefoundation.org)
*
* Licensed under The MIT License
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright 2005-2009, Cake Software Foundation, Inc. (http://cakefoundation.org)
* @link http://cakephp.org CakePHP(tm) Project
* @package datasources
* @subpackage datasources.models.datasources.dbo
* @since CakePHP Datasources v 0.1
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
*/
App::import('Datasource','DboSource');
/**
* DBO implementation for the SQLite3 DBMS.
*
* A DboSource adapter for SQLite 3 using PDO
*
* @package datasources
* @subpackage datasources.models.datasources.dbo
*/
class DboSqlite3 extends DboSource {
2. 「/app/config/database.php」を以下のように設定する
var $default = array(
'driver' => 'Datasources.DboSqlite3',
'database' => '/full/path/to/db/db.sqlite',
);
これで何とかbakeできるようになる。ただし、何かにつけ「Warning: FIXME: Can't parse field: in C:\xampp\htdocs\cake\sandbox\cake\libs\model\datasources\dbo_source.php on line 2510
」みたいなエラーが出てくる。
とりあえずCakePHP1.3の公式チュートリアルをやってみたけど、一応普通に動きました。