2009-04-02 20 views
6

Disculpe si esto es demasiado simplista.Zend Framework: Comenzando a usar SQLite

He decidido que quiero usar una base de datos SQLite en lugar de una base de datos MySQL. Estoy tratando de entender lo simple que es SQLite y me gustaría un tutorial simple de una respuesta sobre cómo usar SQLite con Zend Framework, dónde poner mi base de datos SQLite en mi estructura de directorios, cómo crear la base de datos, etc.

Respuesta

7

Si hace una conexión a una base de datos no existente, se crea una base de datos sobre la marcha. (Puede desactivar este comportamiento)

+0

¿Dónde se crea? – Andrew

+0

Este es el sitio http://www.connectionstrings.com/sqlite describe la cadena de conexión. La fuente de datos es simplemente el nombre de archivo que proporciona. – tuinstoel

+3

Por ejemplo: ConnectionString = "Data Source = c: \ mydata \ test.db3"; – tuinstoel

8

@tuinstoel es correcto, adjuntándolo a una base de datos SQLite lo crea implícitamente si no existe.

SQLite también es compatible con un cliente de línea de comandos que es más o menos como el shell de comandos de MySQL, lo que le permite emitir comandos ad hoc o ejecutar scripts SQL. Consulte la documentación aquí: http://www.sqlite.org/sqlite.html

Por supuesto, debe cambiar el adaptador Zend_Db en su aplicación ZF. ZF solo admite un adaptador para la extensión PDO SQLite. SQLite no admite credenciales de usuario/contraseña. Además, dado que SQLite es una base de datos integrada en lugar de cliente/servidor, el parámetro "host" no tiene sentido.

$db = Zend_Db::factory("pdo_sqlite", array("dbname"=>"/path/to/mydatabase.db")); 

Uno más advertencia: cuando llegue a resultados de la consulta en formato asociativo-matriz, algunas versiones de SQLite insisten en usar "TableName.ColumnName" como las claves de la matriz, mientras que otras marcas de llaves de retorno de base de datos como simplemente "nombre de columna". Hay un error sobresaliente en ZF al respecto, para tratar de compensar y hacer que SQLite se comporte de manera consistente con los otros adaptadores, pero el error no está resuelto.

0

Esto ahora está cubierto en el Zend Framework quickstart tutorial (versión 1.9.5 al momento de escribir esto). Sólo hacer un nuevo proyecto (con la herramienta de línea de comandos ZF mira aquí para a great tutorial en su puesta en marcha.), Añadir estas líneas a su archivo config.ini y ya está bueno para ir:

; application/configs/application.ini 
[production] 
resources.db.adapter  = "PDO_SQLITE" 
resources.db.params.dbname = APPLICATION_PATH "/../data/db/databaseName.db" 

Ahora, cuando usted pide su adaptador de base de datos predeterminado, usará este. También recomendaría descargar el código fuente del tutorial de inicio rápido y hacer uso del script load.sqlite.php. Puede crear un archivo de esquema y datos y cargar la base de datos con estas tablas/columnas/valores. ¡Es muy útil! Solo mira the tutorial. Todo está ahí.


Esta respuesta fue trasladado fuera de la cuestión en una respuesta CW desconocer la propiedad sobre el contenido.