h1

Cómo utilizar Sqlite3 en Cakephp 1.2

15/11/2009

La 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.

http://translate.google.es/translate?u=http%3A%2F%2Fwww.cpa-lab.com%2Ftech%2F%26category%3Fcat%3Dsqlite&sl=ja&tl=es&hl=es&ie=UTF-8.

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.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: