2013-08-27 14 views
14

Używam Z2 z "doctrine/doctrine-orm-module": "0.7.0".Jak generować jednostki ze schematu bazy danych za pomocą modułu doktryna-orm i zf2

Po utworzeniu elementów zwykle uruchamiam następujące polecenia, aby automatycznie synchronizować i generować bazę danych zgodnie z moimi obiektami.

./vendor/bin/doctrine-module orm:validate-schema 
./vendor/bin/doctrine-module orm:schema-tool:create 

Czy istnieje sposób na odwrócenie tego procesu? Mam na myśli, czy mogę generować jednostki z istniejącej bazy danych w mysql?

+0

Cześć, jak generować podmiotów w dwóch różnych DB z ./vendor/bin/doctrine-module ORM: schematu narzędzie: utworzyć? Andrea – cwhisperer

Odpowiedz

30

Używamy skrypt wsadowy:

@ECHO OFF 

mkdir EXPORT 
call .\vendor\bin\doctrine-module orm:convert-mapping --force --from-database annotation ./EXPORT/ 
call .\vendor\bin\doctrine-module orm:generate-entities ./EXPORT/ --generate-annotations=true 

pause 

orm:convert-mapping i orm:generate-entities jest prawdopodobnie to, czego szukasz.

+2

Opcja --force zaoszczędziła mi kolejnych pięciu godzin pracy. Upewnij się, że tego używasz. – xJoshWalker

21

Jest ładny blog napisany na tej here

EDIT: Można to zrobić za pomocą poniższego polecenia:
1. Konwersja-mapping (tabela & Entity):

./vendor/doctrine/doctrine-module/bin/doctrine-module orm:convert-mapping --namespace="Album\\Entity\\" --force --from-database annotation ./module/Album/src/ 


2. Generuje program pobierający i ustawiający

./vendor/doctrine/doctrine-module/bin/doctrine-module orm:generate-entities ./module/Album/src/ --generate-annotations=true 
+0

Ponieważ ta odpowiedź opiera się na linku do innej witryny, a witryna zewnętrzna może zniknąć w późniejszym terminie, należy umieścić wszystkie istotne informacje w swojej odpowiedzi. –

+0

@RichardChristensen: Masz rację! i zaimplementowane. Czy możesz upomnieć? Będzie to dla mnie dobre i pouczające także dla innych. – Thabung