2010-08-03 14 views
9

Estoy ocupado con Doctrine2, pero no puedo hacer que funcione.Configuración de Doctrine 2 con MySQL

Todo funciona perfectamente con sqlite. Pero cuando trato de cambiar la base de datos en la demo de sandbox a MySQL, me confundo. Esto es lo que hice. He creado una base de datos, cambie la matriz connectionOptions a:

$connectionOptions = array(
    'driver' => 'pdo_mysql', 
    'path' => __DIR__.'/mysql.php' 
); 

existe la entrada 'camino' y se ve así:

$connectionParams = array(
    'dbname' => 'db_test', 
    'user' => 'test', 
    'password' => 'p4ssw0rd', 
    'host' => 'localhost', 
    'driver' => 'pdo_mysql', 
); 

Cuando ejecuto el comando para crear la base de datos:

php doctrine orm:schema-tool:create 

lo que me da el error:

no database selected 

Parece ser un mensaje claro. Pero, ¿cómo puedo cambiar el nombre de base de datos, porque el especificado en mysql.php (ver arriba) sí lo hace y debería ser el que usa! Lo busqué durante horas, pero no puedo encontrarlo en ningún lado.

+0

¿Puede mostrarnos algo más del código, algo difícil de diagnosticar con solo dos líneas? ¡Gracias! –

Respuesta

10

¿Es este el arenero de Doctrine 2? Esto funcionó para mí:

// sandbox/bootstrap.php 

$connectionOptions = array(
    'driver' => 'pdo_mysql', 
    'host'  => '127.0.0.1', 
    'dbname' => 'your_database_name', 
    'user'  => 'username', 
    'password' => 'password' 
); 

$em = EntityManager::create($connectionOptions, $config); 
+1

¡He echado un vistazo y esta es la solución! Muchas gracias ... –

+0

En esta respuesta, la 'ruta' debe cambiarse a 'host' para que funcione con las últimas versiones de doctrine. –

+0

Actualizado. Gracias. Creo que Doctrine seguía siendo beta cuando se planteó esta pregunta originalmente. –

-1

El código del libro de cocina también está disponible para su descarga. Vea here para los detalles. Mire cli-config.php después de que lo descargue.

+0

Este enlace ahora está detrás de un blog privado. –

+0

@Kevin Sedgley Sí, no he jugado con Doctrine durante mucho tiempo, y esa entrada es de 2010. Entonces, la información en el enlace puede estar obsoleta. Puede consultar https://github.com/kkruecke/doctrine-2-cookbook –