2010-08-03 6 views
9

Sono occupato con Doctrine2, ma non riesco a farlo funzionare.Configurazione di Doctrine 2 con MySQL

Tutto funziona bene fuori dalla scatola con sqlite. Ma quando provo a cambiare il database nella demo sandbox su MySQL mi sto confondendo. Questo è quello che ho fatto. Ho creato un database, cambiato l'array connectionOptions a:

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

esiste la voce 'percorso' e si presenta così:

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

Quando eseguo il comando per creare il database:

php doctrine orm:schema-tool:create 

il che mi dà l'errore:

no database selected 

Sembra un messaggio chiaro. Ma come posso cambiare il nome del database, perché quello specificato in mysql.php (vedi sopra) fa l'excist e dovrebbe essere quello che usa! L'ho cercato per ore, ma non riesco a trovarlo da nessuna parte.

+0

Puoi mostrarci qualcosa in più del codice, un po 'difficile da diagnosticare con solo due righe. Grazie! –

risposta

10

È questa la sandbox Doctrine 2? Questo ha funzionato per me:

// 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

Ho dato un'occhiata a questa e questa è la soluzione! Grazie mille ... –

+0

In questa risposta 'percorso' dovrebbe essere cambiato in 'host' per funzionare con le ultime versioni di doctrine. –

+0

Aggiornato. Grazie. Penso che Doctrine fosse ancora beta quando questa domanda è stata originariamente sollevata. –

-1

Il codice Cookbook è anche disponibile per il download. Vedi here per i dettagli. Guarda cli-config.php dopo averlo scaricato.

+0

Questo link è ora dietro un blog privato. –

+0

@Kevin Sedgley Sì, non ho armeggiato con Doctrine per molto tempo, e quella voce è del 2010. Quindi, a questo punto, le informazioni nel link potrebbero essere obsolete. È possibile controllare https://github.com/kkruecke/doctrine-2-cookbook –