2013-08-27 8 views
14

generieren Ich verwende "doctrine/doctrine-orm-module": "0.7.0" mit ZF2.Wie Entitäten aus Datenbankschema mit Doctrin-Orm-Modul und ZF2

Sobald ich Entitäten erstellt habe, führe ich normalerweise die folgenden Befehle aus, um die Datenbank automatisch zu synchronisieren und zu generieren, entsprechend meinen Entitäten.

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

Gibt es eine Möglichkeit, diesen Prozess umzukehren? Ich meine, kann ich Entitäten aus bestehenden Datenbanken in MySQL generieren?

+0

Hallo, wie Entities in zwei verschiedenen DBs mit ./vendor/bin/doctrine-module orm zu generieren: schema-Tool: erstellen? Andrea – cwhisperer

Antwort

30

Wir verwenden ein Batch-Skript:

@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 und orm:generate-entities ist wahrscheinlich das, was Sie suchen.

+2

Die Option --force hat mir weitere fünf Stunden Arbeit erspart. Stellen Sie sicher, dass Sie das verwenden. – xJoshWalker

21

Es gibt einen schönen Blog auf diesen geschrieben here

Edit: Es kann unter mithilfe der Befehle erfolgen:
1. convert-Mapping (Tabelle & Entity):

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


2. Erzeugt Getter und Setter

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

Da diese Antwort auf einen Link zu einer anderen Website angewiesen ist und die externe Website zu einem späteren Zeitpunkt möglicherweise nicht mehr angezeigt wird, geben Sie bitte alle relevanten Informationen in Ihrer Antwort an. –

+0

@RichardChristensen: Du hast Recht! und auch implementiert. Kannst du bitte Upvote? Es wird gut für mich sein und auch für andere informativ. – Thabung