/ / Generowanie informacji o mapowaniu istniejącej bazy danych za pomocą Doctrine 2 - zend-framework, doctrine2

Generowanie informacji mapowania na istniejącej bazie danych za pomocą Doctrine 2 - zend-framework, doctrine2

Przygotowałem Doctrine 2 na Zend Framework 1.10 i poprawnie skonfiguruj automatyczne ładowanie, w tym wszystkie niezbędne ustawienia konfiguracji w pliku application.ini. To, co muszę teraz zrobić (a przynajmniej tak uważam), to utworzyć klasy Entity z informacjami mapowania, aby menedżer encji mógł pracować z moją bazą danych.

To, czego nie chcę zrobić, to napisać encjęklas ręcznie, ponieważ zajmie to całe wieki, ale wydaje mi się, że nie wiem, co robić dalej. Czy narzędzie wiersza poleceń ma funkcjonalność do tworzenia encji, serwerów proxy i wszystkich innych niezbędnych klas z istniejącego schematu?

Odpowiedzi:

3 dla odpowiedzi № 1

Możesz użyć narzędzia inżynierii odwrotnej Doctrine http://www.doctrine-project.org/docs/orm/2.0/en/reference/tools.html#reverse-engineering

Ale nie wykrywa również wszystkiego, jak podano w odnośniku.

Najlepiej jest wykonać inżynierię wsteczną i wypełnić resztę ręcznie IMO.


3 dla odpowiedzi № 2

Korzystanie z narzędzia wiersza poleceń:

 ./bin/doctrine orm:convert-mapping --from-database xml ./bin/tmp

Spowoduje to wygenerowanie mapowań XML. Następnie upewnij się, że podczas konfigurowania narzędzia Doctrine CLI zmienisz sterownik na XmlDriver

$driver = new DoctrineORMMappingDriverXmlDriver(array(
APPLICATION_PATH . "/../bin/tmp"
));
$config->setMetadataDriverImpl($driver);

Moja konfiguracja CLI używa Zend_Application, więc zazwyczaj zmieniam to w moim Bootstrap.

Teraz biegać

./bin/doctrine orm:generate-entities ./bin/tmp

Sterownik metadanych Xml jest wymagany w celu orm:generate-entities przekonwertować z xml na encje. Jeśli użyjesz domyślnego sterownika adnotacji, konwertuje elementy w ścieżce sterownika adnotacji na obiekty, których nie chcemy tutaj.