/ / Générer des informations de mappage sur l'utilisation de la base de données existante Doctrine 2 - zend-framework, doctrine2

Générer des informations de mappage sur l'utilisation de la base de données existante Doctrine 2 - zend-framework, doctrine2

J'ai Doctrine 2 sur Zend Framework 1.10 et que tout le chargement automatique est configuré correctement, y compris tous les paramètres de configuration nécessaires dans le fichier application.ini. Ce que je dois faire maintenant (ou du moins je crois) est de créer mes classes d'entité avec des informations de mappage afin que le gestionnaire d'entités puisse travailler avec ma base de données.

Ce que je ne veux pas faire, c'est écrire l'entitéclasses à la main car cela prendra du temps, mais je ne peux pas sembler savoir quoi faire ensuite. L'outil en ligne de commande a-t-il des fonctionnalités pour créer les entités, les proxies et toutes les autres classes nécessaires à partir d'un schéma existant?

Réponses:

3 pour la réponse № 1

Vous pouvez utiliser l'outil d'ingénierie inverse de Doctrine http://www.doctrine-project.org/docs/orm/2.0/en/reference/tools.html#reverse-engineering

Mais il ne détecte pas tout comme indiqué dans la référence.

Votre meilleur pari est de faire de l'ingénierie inverse et de remplir le reste manuellement avec IMO.


3 pour la réponse № 2

À l'aide de l'outil de ligne de commande:

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

Cela générera vos mappages XML. Ensuite, assurez-vous que lors de la configuration de l’outil Doctrine CLI, vous modifiez le pilote XmlDriver

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

Ma configuration CLI utilise Zend_Application, donc je change généralement cela dans mon Bootstrap.

À présent courir

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

Le pilote de métadonnées XML est requis pour orm:generate-entities convertir de xml en entités. Si vous utilisez le pilote d'annotation par défaut, les entités du chemin de pilote d'annotation seront converties en entités, ce qui n'est pas ce que nous voulons ici.