Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-02-2014 13:11:41

Splyf
Membre
Date d'inscription: 24-10-2013
Messages: 115

Doctrine commande line tool, et la structure des module de zf2

Bonjour!

Me revoila.
Ce n'est pas vraiment un problème bloquant, mais plutôt une perte de productivité.
J'utilise le commandeLine tool de doctrine pour généré mes entité, outils fort puissants en terme de gain de temps!
Son utilisations est ultra simple quand il s'agit de placé toute les entité dans un seul module, mais si je veut les répartir la c'est la grosse prise de tête.

j'utilise ces deux commande:

Code:

[lang=shell]./vendor//bin/doctrine-module orm:convert-mapping --namespace="MonModule\\Entity\\" --force  --from-database --filter="table1"  --filter="table2" --filter="table3" annotation ./module/MonModule/src/

suivie de

Code:

[lang=shell]./vendor/bin/doctrine-module orm:generate-entities ./module/MonModule/src/ --generate-annotations=true --filter="table1"  --filter="table2" --filter="table3"

dans le fichier de config du module:

Code:

[lang=php]
<?php
namespace MonModule;
return array(
    'doctrine' => array(
        'driver' => array(
            __NAMESPACE__.'_driver' => array(
                'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
                'cache' => 'array',
                'paths' => array(__DIR__ . '/../src/'.__NAMESPACE__.'/Entity')
            ),
            'orm_default' => array(
                'drivers' => array(
                    __NAMESPACE__.'\Entity' => __NAMESPACE__.'_driver',
                ),
            ),
        ),
    )
);

(j'utilise le namespace pour pouvoir copier coller le même code dans chaque module ^^)

Ce qui m’embête, c'est de toujours devoir rajouter l'options filter a chaque commande, c'est parfait pour faire des erreur, surtout si on doit répartir 50 table dans une 10aine de module!
Si j'enlève l'option filter de la commande omr:generate-entities, il me copie toute les table des autres modules dans le src du module courant pour les quel j'ai déjà généré les annotations - ce même avec l'options updates-entities et regenerates-entities.

N'y a t'il pas un moyen de configurer les table concerné par le module dans son fichier de config et qui permettrai du coup de ne lancé qu'une commande ou presque pour tout les module??

Dernière modification par Splyf (05-02-2014 13:13:59)

Hors ligne

 

#2 05-02-2014 14:15:06

Splyf
Membre
Date d'inscription: 24-10-2013
Messages: 115

Re: Doctrine commande line tool, et la structure des module de zf2

Re,

Bon il semblerai que je fasse une grosse erreur de conception quelque part...
Je regroupe mes entité dans des module, on va dire par "thematique"

par exemple
Module User qui contient tout ce qui cerne les table utilisateurs
Module Etablissement qui contient tout ce qui concerne des établissement (des restaurants entre autres)
Module Geo contenant des département, des villes, ect et leur coordonné
Module Media pour tout les fichiers utilisateurs (images, pdf, etc)

sauf que tout sa est complêtement relié, aucune table ou presque n'est coupé du reste sans jointure.

Du coup, pour certain module, même si je filtre qu'une seul table pour la mettre dans mon module, il me génère quasiment toute les entité, ou alors des entité qui non rien a voir avec la thématique du module! 
Je n'est pas encore trouvé ce qui lui fait décidé de suivre une jointure ou pas car parfois le filtre marche très bien magré une jointure manyToOne...

Comprend pô...

EDIT: en plus avec cette façons de répartir les table dans différent module, forcément je doit corriger les chemin des assoc des entité d'ORM vers les bon module..devrai-je finalement ne faire qu'un module pour toute les entité ? :s

Dernière modification par Splyf (05-02-2014 14:30:37)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages