2010-08-03 20 views
9

Jestem zajęty Doctrine2, ale nie mogę go uruchomić.Konfiguracja Doctrine 2 z MySQL

Wszystko działa dobrze po wyjęciu z pudełka z sqlite. Ale kiedy próbuję zmienić bazę danych w demo sandbox na MySQL, zaczynam się mylić. Oto co zrobiłem. I stworzył bazę danych, zmieniono tablicę connectionOptions do:

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

'path' entry istnieje i wygląda następująco:

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

Kiedy uruchomić polecenie, aby utworzyć bazę danych:

php doctrine orm:schema-tool:create 

Który daje mi błąd:

no database selected 

Wydaje się być wyraźną wiadomością. Ale jak mogę zmienić nazwę bazy danych, bo ta określona w mysql.php (patrz wyżej) jest excist i powinna być tą, której używa! Szukałem go przez wiele godzin, ale nigdzie go nie znajduję.

+0

Czy możesz pokazać nam więcej kodu, który trudno jest zdiagnozować za pomocą zaledwie dwóch linii. Dzięki! –

Odpowiedz

10

Czy to jest piaskownica Doctrine 2? To zadziałało dla mnie:

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

Spojrzałem na to i to jest poprawka! Wielkie dzięki ... –

+0

W tej odpowiedzi "ścieżka" powinna zostać zmieniona na "host", aby pracować z najnowszymi wersjami doktryny. –

+0

Zaktualizowano. Dzięki. Sądzę, że Doctrine wciąż była beta, kiedy to pytanie zostało pierwotnie podniesione. –

-1

Kod Cookbook jest również dostępny do pobrania. Aby uzyskać szczegółowe informacje, patrz here. Po pobraniu spójrz na cli-config.php.

+0

Ten link znajduje się teraz za prywatnym blogiem. –

+0

@Kevin Sedgley Tak, przez długi czas nie majstrowałem przy Doktrynie, a ten wpis pochodzi z 2010 roku. Więc informacje zawarte w linku mogą być już nieaktualne. Możesz sprawdzić https://github.com/kkruecke/doctrine-2-cookbook –