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 :

Doctrine : construction du schéma à partir de la BDD [1.x]


Sujet :

Symfony PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 124
    Par défaut Doctrine : construction du schéma à partir de la BDD
    Bonjour à tous,

    Je suis en stage dans un labo et je dois migrer un site web pour le recréer à partir du framework symfony. Je part d'un BDD assez grosse (45 tables) et j'aimerai savoir ce que je dois corriger quand je génère le schéma à partir de celle-ci.

    De ce que j'ai trouvé sur le web, je dois refaire les relations N:N qui ne sont pas détectées mais quand je le fait et que je génère un backend, les listes créées par les relations N:N ne fonctionnent pas en édition et création.

    Par exemple :
    Schéma :
    Person -> PersonAcitivity <- Activity

    Table Person :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        PersonActivity:
          local: activity_id
          foreign: person_id
          class: Activity
          refClass: PersonActivity
    Table Activity :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        PersonActivity:
          local: person_id
          foreign: activity_id
          class: Person
          refClass: PersonActivity
    Table PersonActivity :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    PersonActivity:
      connection: doctrine
      tableName: person_activity
      columns:
        person_id:
          type: integer(4)
          fixed: false
          unsigned: true
          primary: true
          autoincrement: false
        activity_id:
          type: integer(4)
          fixed: false
          unsigned: true
          primary: true
          autoincrement: false
      relations:
        Person:
          local: person_id
          foreign: id
          type: one
        Activity:
          local: activity_id
          foreign: id
          type: one
    et si je veut filtrer ou éditer une personne, je me retrouve avec l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    500 | Internal Server Error | Doctrine_Connection_Mysql_Exception
    SQLSTATE[42S22]: Column not found: 1054 Unknown column 'p2.id' in 'on clause'
    Deuxième question, que dois-je faire des relations many to one comme par exemple dans Person :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
        Resource:
          local: id
          foreign: person_id
          type: many
        Resource_4:
          class: Resource
          local: id
          foreign: person_contact_id
          type: many
        Resource_5:
          class: Resource
          local: id
          foreign: person_responsible_id
          type: many
        Resource_6:
          class: Resource
          local: id
          foreign: person_updater_id
          type: many
        Task:
          local: id
          foreign: person_id
          type: many
    alors que les clés sont dans l'autre table (task, resource,...).

  2. #2
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 124
    Par défaut
    Problème résolu je pense.
    En fait, il faut changer le nom de la relation pour pas que celle-ci est le même de la table association.

  3. #3
    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
    Si tu parts sur une vraie évolution de l'application (pas de travail en simultané sur la même base) tu as intérêt à adapter le shema.yml à doctrine.

    C'est une relecture complète qu'il te faudrait faire.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme d'envoi de courriels a partir d'une bdd MySQL
    Par Chimere dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/06/2006, 13h47
  2. Obtenir le MCD a partir d'une BDD Oracle, possible?
    Par dipajero dans le forum Designer
    Réponses: 7
    Dernier message: 06/01/2006, 20h48
  3. Réponses: 18
    Dernier message: 08/08/2005, 20h52
  4. Réponses: 3
    Dernier message: 03/08/2005, 11h21
  5. [Listview] Remplissage à partir d'une bdd mysql
    Par Cybher dans le forum C++Builder
    Réponses: 2
    Dernier message: 18/07/2005, 09h32

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