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 :

Du SQL au YML en gardant les actions on-delete de la clé étrangère


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 32
    Par défaut Du SQL au YML en gardant les actions on-delete de la clé étrangère
    Bonjour à tous,

    Je travaille actuellement sur une assez grosse base de données que j'ai modélisée avec le logiciel Mysql-Workbench pour me faciliter la tache.
    J'effectue donc toutes mes relations et le tout le tralala...
    Puis je génère mon fichier.sql et je le lance ds Mysql afin de créer ma base de données.
    Enfin, utilisant le framework symfony, j'utilise la commande "php symfony doctrine:build-schema" afin de générer mon shema.yml à partir de la base créée auparavant.
    Malheur pour moi, le shema.yml est bien généré mais sans les actions on-delete et sans les auto-increment.
    J'ai vraiment pas envi décrire tout cela à la main étant donné que la base est assez grosse.
    Il y a t-il un moyen de généré les actions on-delete en même temps que le shema.yml à partir d'un fichier.sql?

    Merci d'avance!

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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
    Par défaut
    Dans les relations, le "ondelete" est la valeur par défaut... donc il n'y a rien à faire.

    Par contre, l'auto-incrément est plus étonnant. Est-ce qu'il est bien intégré dans MySql ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 32
    Par défaut
    D'après mes petites recherches il existe un plugin Doctrine pour Mysql-Workbench qui génère les actions on-delete (cascade etc...). En revanche j'ai cru lire qu'il ne serait pas fiable a 100%.
    Quelqu'un d'expérience pourrait-il m'éclairé? D'ailleurs je suis loin d'être le seul confronté au problème car même le plugin symfony pour Workbench ne prend pas en compte les actions on-delete et on-update.
    Merci

    Annexe plugin doctrine pour mysql-workbench:
    http://code.google.com/p/mysql-workb...ctrine-plugin/

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 32
    Par défaut
    Dans ma base de données j'ai certain on-delete avec cascade et d'autre avec set-null. Donc je ne pense pas pouvoir laisser mon schema.yml comme d'origine.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 32
    Par défaut
    petit lien intéressant:
    http://blog.mazenod.fr/2010/03/outil...-pour-symfony/

    Qui résume le problème en apportant des solutions.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 32
    Par défaut
    Donc j'ai testé le plugin Doctrine sous Mysql-Workbench et le résultat est satisfaisant (à première vue). les on-delete: cascade et set-null sont bien générés.

    J'espère avoir contribué à la démocratisation du framework symfony et doctrine

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 32
    Par défaut
    J'ai un problème

    Quand j'utilise mon fichier.sql pour créer ma base (directement sur Mysql), les on-delete cascade fonctionnent super bien. Alors que quand j'utilise le schema.yml généré par le puglin doctrine pour créer ma base (à partir de symfony), les actions on-delete sont bien là mais quand je supprime un parent Mysql me retourne l'erreur:

    #1452 - Cannot add or update a child row: a foreign key constraint fails ... ON DELETE CASCADE ON UPDATE NO ACTION

    à ne rien comprendre

Discussions similaires

  1. requete sql max de sum/sum en gardant les autres infos
    Par gwena54 dans le forum Requêtes
    Réponses: 17
    Dernier message: 27/06/2007, 12h13
  2. Comment désactiver les actions automatiques de Windows ?
    Par j-phi dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 06/01/2005, 12h53
  3. Réponses: 6
    Dernier message: 06/10/2004, 10h41
  4. [Struts] question bete sur les Action et Form
    Par seb_fou dans le forum Struts 1
    Réponses: 2
    Dernier message: 06/09/2004, 15h24

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