Je suis d'accord avec toi sur le principe d'écrire le schéma
directement en .yml, mais je trouvais l'outils Mysql Workbench
vraiment intéressant dans la mesure ou il me permettait d'avoir un
schéma visuel ET une base en parfait harmonie constamment.
Cependant, il est vrai que je peux toujours faire du "reverse
engeneering" pour retrouver mon schema à partir de ma base généré
depuis le .yml...
En attendant vos réponses, j'ai fait quelque chose d'autre, j'aimerai
en connaître ton avis.
En fait mon problème c'était que lorsque je demandais la table relié
en many to many, il me généré un surplus de requête pour obtenir les
infos entrée par entrée, j'ai donc modifié mon fichier
JoueurCompetenceTable.php pour surcharger la requête
getJoueurCompetence() et lui faire renvoyer la liste des compétences
en jointure avec la table joueur_competence.
L'avantage de cela c'est que je contrôle parfaitement mes requêtes et
comme je ne touche pas au fichier *Base.php, je n'ai à le faire qu'une
fois.
L'inconvénient c'est que je vais devoir surcharger cette méthode
chaque fois que j'aurai besoin de récupérer une table d'une relation
many2many, et j'en ai pas mal !
Je vais réfléchir à ta solution à nouveau, et tenter d'écrire mon
schéma directement en .yml.
Merci de tes conseils et de ton temps
On 25 juil, 17:42, Colin Darie <
colinda...@gmail.com> wrote:
> C'est à mon avis normal que la conversion base > schéma ne conserve pas les relations many-to-many car elle ne fait que retranscrire la structure des tables existantes, et aux yeux de la base le m2m n'est rien d'autre que 2 relations one-to-many.
>
> Si tu souhaites continuer à utiliser MySQL Workbench, pour éviter à chaque fois de rajouter ces relations à la main dans le schéma, et si t'es sous un système linux, tu n'as qu'à créer un simple patch qui contient ces quelques lignes supplémentaires, patch que tu n'auras plus qu'à appliquer simplement après chaque génération du schema. Tu peux même écrire une tache symfony qui lancera doctrine:build-schema puis qui appliquera le patch immédiatement après pour tout faire d'un coup.
>
> Autrement je pense que ça vaut vraiment la peine d'investir du temps pour apprendre à écrire directement et rapidement les schemas en yml, ça évite bien des surprises dans ce genre car là ce sont les m2m qui ne sont pas conservées, mais une autre fois ça sera peut-être autre chose dont tu ne te rendras pas forcément compte (sans parler du fait que ça ne t'écrira jamais le yml pour utiliser des behavior !) Une fois qu'on a l'habitude d'écrire les schemas manuellement, ça va vraiment très vite même pour des très grandes structures (rien n'empêche d'ailleurs de modéliser la base par un outil graphique avant si on le souhaite).
>
> 2009/7/24 Bruno <
bwinc...@gmail.com>:
> signature.asc
> < 1 000AfficherTélécharger