
Cómo utilizar Sqlite3 en Cakephp 1.2
15/11/2009La versión de Cakephp 1.2 no ofrece soporte oficial para utilizar las bases de datos Sqlite 3, aunque es compatible con versiones anteriores. Para conseguir conectar con esta versión de Sqlite es necesario utilizar un driver no oficial. Actualmente hay dos soluciones:
Solución #1: Driver sqlite3 en Cakephp
https://trac.cakephp.org/ticket/3003, Proyecto surgido en el propio trac de Cakephp, readaptando el driver de Sqlite2 para hacerlo compatible con Sqlite3. Instrucciones:
1º) Descargar la última versión del driver Sqlite3 para Cakephp o descargarlo del siguiente
mirror driver Sqlite3 – Cakephp 1.2.5 (renombrar a «dbo_sqlite3.php»).
2º) Instalarlo, cambiando lógicamente los paths por los respectivos de la aplicación en la que se va a utilizar.:
carlos@maq1:~$ cp dbo_sqlite3.7.php /var/www/cake_1.2.5/cake/libs/model/datasources/dbo/dbo_sqlite3.php
3º) Configurar la aplicación para que utilice este moto de base de datos.
carlos@maq1:~$ nano /var/www/cake_1.2.5/app/config/database.php
Dejando un fichero similar al siguiente:
<?php
class DATABASE_CONFIG {
var $default = array(
'driver' => 'sqlite3',
'host' => '',
'port' => '',
'login' => '',
'password' => '',
'database' => '/var/www/cake_1.2.5/app/config/myDatabaBase',
'schema' => '',
'prefix' => '',
'encoding' => ''
);
var $test = array(
'driver' => 'sqlite3',
'host' => '',
'port' => '',
'login' => '',
'password' => '',
'database' => '/var/www/cake_1.2.5/app/config/myDatabaBase',
'schema' => '',
'prefix' => '',
'encoding' => ''
);
}
?>
Nota: puede ser necesario la instalación del paquete php5-sqlite (a parte de php5-sqlite3), aunque la versión de Sqlite sea la 3.x.
# sudo apt-get install php5-sqlite
Solución #2: Driver sqlite3_spok en Cakephp
Driver japonés.
1º) Descargar la última versión del driver sqlite3_spok (actualmente la 1.0.7beta).
2º) Descomprimir y copiar los archivos:
# cp dbo_sqlite3_spok.php /var/www/cake_1.2.5/cake/libs/model/datasources/dbo/dbo_sqlite3_spok.php
# cp dbo_source.php /var/www/cake_1.2.5/cake/libs/model/datasources/
3º) Borrar la caché de Cakephp:
# rm -Rf /var/www/cake_1.2.5/app/tmp/cache/*
4º) Modificar el fichero de configuración de la base de datos de la siguiente manera:
# nano /var/www/cake_1.2.5/app/config/database.php
<?php
class DATABASE_CONFIG {
var $default = array(
'driver' => 'sqlite3_spok',
'connect' => 'PDO',
'host' => '',
'port' => '',
'login' => '',
'password' => '',
'database' => 'sqlite:/var/www/cake_1.2.5/app/config/myDatabaBase',
'schema' => '',
'prefix' => '',
'encoding' => ''
);
}
?>
Ambas soluciones funcionan, no obstante son drivers no oficiales y con poco soporte.
Deja una respuesta