IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

quelle syntaxe yml pour symfony 1.4 ?


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 35
    Points : 28
    Points
    28
    Par défaut quelle syntaxe yml pour symfony 1.4 ?
    Bonjour,

    je débute en symfony et je me pose une question quant à la création de mon fichier yml.

    Contexte :
    Utilisation de mysql-workbench pour modéliser la base de donnée (certaines tables contiennent des clefs étrangères avec des on update et on delete en cascade).
    Utilisation de symfony 1.4 avec doctrine.

    Premiere methode de creation yml :
    J'ai un plugin pour générer un yml dédié à symfony. Celui-ci ne fait pas état des on updates cascade mais mentionne seulement les on delete cascade dans le yml.
    J'ai un autre plugin pour générer un yml doctrine. Celui-ci fait bien état des on updates et on delete cascade dans le yml généré (conformément à mes attentes).

    Deuxieme methode de creation yml :
    Je fais un export sql de mon schema sous workbench.
    J'execute ensuite le code sql fraichement créer pour générer la structure de ma base de données.
    Après sous symfony, je génére mon yml a partir de la structure de la base de données (php symfony doctrine:build-schema).
    Cela fonctionne mais le yml généré ne fait pas état, ni des on update, ni des on delete.

    Mon constat :
    Suite à ces différents tests je pense qu'il vaut mieux que j'utilise le yml généré par le plugin doctrine de mysql-workbench qui est le plus fidèle à ma structure bdd.
    Néanmoins, je me demande et m'interroge sur le pourquoi le plugin dédié au yml de symfony dans workbench ne fait pas etat des on update.
    D'ailleurs, dans le tutorial jobeet : http://www.symfony-project.org/jobee...Doctrine/en/03 le yml ne contient que des on delete (pas de mention de on update), de ce fait le on update n'est peut etre pas connu par le framework ?
    Et ce qui m'interpelle aussi c'est le générateur de yml a partir d'une structure bdd fournit par symfony, pas l'ombre d'un on update ni meme d'un on delete.

    Pourriez-vous donc me confirmer que :
    1) le yml généré par symfony n'est pas une source sûre (manque le on delete et le on update).
    2) le yml généré par le plugin symfony de workbench n'est pas complet (devrait mentionné les on update en plus des on delete), ou alors que symfony ne gère que les on delete, exemple du tutorial jobeet.
    3) le yml généré par le plugin doctrine de workbench est conforme au framework symfony (l'intégration de doctrine dans symfony n'a t'il pas une influence sur le comportement de l'orm au niveau des fonctionnalités, et donc, peut-on se baser sur la documentation de doctrine et utiliser un yml pour doctrine dans symfony ?).


    Merci d'avance pour vos réponses.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Septembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 35
    Points : 28
    Points
    28
    Par défaut
    En testant avec le yml généré pour doctrine il s'avere que ce n'est pas top.
    Au final je pense qu'a defaut de le creer a la main, le mieux doit etre de generer le yml a partir de symfony puis de rajouter les on update et ondelete soit meme.

    Si vous avez un avis sur ce sujet n'hésitez pas.

    Merci d'avance.

  3. #3
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    De tête, onDelete est par défaut à On et onUpdate aussi.

    symfony n'intervient pas dans le schéma envoyé a doctrine et il vaut mieux se baser sur la documentation de doctrine. Seul exception les paramètres propres à symfony du schéma, dans la section symfony...

    Entre nous, et si tu utilises des clefs auto-incrémentées, le onCascade a peut d'importance, voir même aucune.

    Pour les questions :
    1) Vu le soin apporté au développement de symfony, il m'étonnerais beaucoup que le schema.yml ne soit pas correcte, la meilleur solution serait de le générer puis de créer une base avec celui-ci et de comparer.

    2) voir si dessus pour les valeurs par défaut. Symfony ne gère rien, c'est doctrine qui gère. Vu que je n'utilise (habitude personnel) jamais une clef qui peut être mise à jour, le onCascade fait partie des fonctionnalités que je n'ai jamais géré.

    3) je ne me base que sur la documentation de doctrine pour gérer et utiliser le schema.yml dans symfony (sauf section particulière à symfony).

    Amicalement, Michel

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    J'ai exactement le même problème que supertotal. Et vu que ma base de données est énorme je n'ai vraiment pas envi de tout taper à la main.
    Est-ce que supertotal ou quelqu'un peut me confirmer que le plugin doctrine pour MysqlWorkbench est fiable, parce que je pense (en toute modestie) que mimi68 n'a pas saisie la force du on-delete: cascade.

    Pour info, j'ai créé un post sur ce sujet (dans l'attente d'une reponse) car je bug dessus depuis hier:
    http://www.developpez.net/forums/d92...e-foreign-key/

    Merci d'avance pour toute réponse.

  5. #5
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Points : 8 486
    Points
    8 486
    Par défaut
    OK, j'ai répondu légèrement à côté, en fait, votre problème est la notion de cascade, qui n'a pas de défaut.

    Dans la version 1.1 de doctrine, le cascade ne porte que sur la notion de delete. Ce qui explique le comportement du plugin, je pense. Dans tous les cas, si on indiquait une notion de update pour cascade, le moteur ne le gèrerait pas. La doc ici.

Discussions similaires

  1. [MySQL] Quelle syntaxe utiliser pour tester le résultat SQL ?
    Par ctrl+z dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/12/2008, 17h11
  2. [heritage] quelle syntaxe pour les requêtes avec Mysql
    Par tavarlindar dans le forum Requêtes
    Réponses: 7
    Dernier message: 08/05/2008, 00h47
  3. Quelle syntaxe pour Pivot/Unpivot
    Par Immobilis dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 11/04/2008, 22h15
  4. Réponses: 8
    Dernier message: 02/05/2006, 17h07
  5. quelle syntaxe svp pour ce code ?
    Par man123 dans le forum Langage
    Réponses: 10
    Dernier message: 16/11/2005, 01h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo