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

ORM PHP Discussion :

[doctrine]problème avec syntaxe du schema.yml


Sujet :

ORM PHP

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Points : 73
    Points
    73
    Par défaut [doctrine]problème avec syntaxe du schema.yml
    Bonjour à tous,
    J'ai un souci avec la syntaxe du fichier schema.yml et j'arrive pas à générer ma BD à cause d'erreur SQL "SQLSTATE42000:syntax error or access violation, key column demande_id doesn't exist in table"


    - D'abord, je ne sais pas si on doit déclarer les id (clés primaires) de chaque table ou bien c'est symfony qui s'en charge.
    - Comment je dois écrire mes clés primaires et étrangères quand je déclare une relation?

    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
    26
    27
    28
    29
    30
     
     
    DemandeArticle:
      connection: doctrine
      tableName: demande
      actAs: { Timestampable: ~ }
      columns:
        id:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: true
        article_id:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        date_demande:
          type: date(25)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
    ......
      relations:
          Article: { onDelete: RESTRICT, local: demande_id, foreign: article_id }
    Merci pour votre aide!!!

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 25
    Points : 26
    Points
    26
    Par défaut
    La relation que tu définis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    relations
       Article: { onDelete: RESTRICT, local: demande_id, foreign: article_id }
    Implique comme c'est écrit que la table en 'local' doit avoir un champ 'demande_id', ce qui n'est pas le cas, d'où l'erreur.

    Je ne vais pas te faire un cours complet sur la création de schéma.yml, je te conseil de lire la doc de symfony pour une approche simpel et efficace:
    http://www.symfony-project.org/jobee...Doctrine/en/03

    et la doc de Doctrine pour la documentation complète:
    http://www.doctrine-project.org/proj...chema-files/en

    Avec ca, tu es parré pour toutes les situations

  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
    Ton shema.yml revu à ma façon

    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
     
    DemandeArticle:
      connection: doctrine
      tableName: demande
      actAs: 
        Timestampable: ~
      columns:
        //on lui laisse faire le Id seul
        article_id:
          type: integer
          notnull: true
        date_demande: date
    ......
      relations:
        Article: 
          onDelete: RESTRICT
          foreignAlias:  DemandeArticles
     
    Article:
      ...
      columns:
        //ici aussi le id seul
        ...
    Je te laisse compléter les ...

    Virer les paramètres par défaut rend le schéma plus lisible.

    Garder les conventions de nom facilite l'écriture des relations notamment.

    Le relations ne sont écrites qu'une fois sur le côté n de la relation. "foreignAlias" permet de donner le nom de la relation vue de l'autre table.

  4. #4
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    334
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 334
    Points : 73
    Points
    73
    Par défaut
    Merci bcp pour vos réponses!!!

    Citation Envoyé par Michel Rotta Voir le message
    Ton shema.yml revu à ma façon

    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
     
    DemandeArticle:
      connection: doctrine
      tableName: demande
      actAs: 
        Timestampable: ~
      columns:
        //on lui laisse faire le Id seul
        article_id:
          type: integer
          notnull: true
        date_demande: date
    ......
      relations:
        Article: 
          onDelete: RESTRICT
          foreignAlias:  DemandeArticles
     
    Article:
      ...
      columns:
        //ici aussi le id seul
        ...
    Je te laisse compléter les ...

    Virer les paramètres par défaut rend le schéma plus lisible.

    Garder les conventions de nom facilite l'écriture des relations notamment.

    Le relations ne sont écrites qu'une fois sur le côté n de la relation. "foreignAlias" permet de donner le nom de la relation vue de l'autre table.

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

Discussions similaires

  1. Problème avec syntaxe dans un code
    Par titiana dans le forum Images
    Réponses: 4
    Dernier message: 17/07/2013, 20h47
  2. Réponses: 0
    Dernier message: 26/04/2011, 16h15
  3. Réponses: 13
    Dernier message: 10/03/2011, 10h17
  4. Probléme avec Syntaxe
    Par dv-2008 dans le forum VB.NET
    Réponses: 5
    Dernier message: 29/05/2008, 19h38
  5. probléme avec syntaxe
    Par dv-2008 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 28/05/2008, 14h00

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