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

 PHP Discussion :

symfony doctrine schéma


Sujet :

PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2011
    Messages : 444
    Par défaut symfony doctrine schéma
    bonjour,
    j"ai créé 2 module qui ont une relation de jointure mais je ne voi pas dans le schéma le nom de foreign key est se que je doit l'ajouter manuellemnt sur schema.yml voici un exemple :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Client:
      connection: doctrine
      tableName: client
      columns:
        id:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: true
          autoincrement: true
        nom:
          type: string()
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        prenom:
          type: string()
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
      relations:
        Billet:
          local: id
          foreign: id
          type: many
    Billet:
      connection: doctrine
      tableName: billet
      columns:
        id:
          type: integer(4)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        nom:
          type: string()
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
        date:
          type: date(25)
          fixed: false
          unsigned: false
          primary: false
          notnull: true
          autoincrement: false
      relations:
        Client:
          local: id
          foreign: id
          type: one
    merci

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Si j'ai bien compris ta question, Doctrine ajoute automatiquement une clé primaire de nom id quand il n'y en a pas de définie.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre éclairé
    Homme Profil pro
    Analyse système
    Inscrit en
    Mars 2011
    Messages
    444
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Mars 2011
    Messages : 444
    Par défaut
    nn c'est pas sa, c'est que symfony géré le nom du foreign key tous seul normalement moi je l'est pas trouver est se que je doit l'ajouter manuellement

  4. #4
    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
    Je ne sais pas combien de fois j'ai écris déjà ceci :

    Le shema.yml crée la base de donnée.

    Il ne faut pas créer le shema.yml depuis la base de donnée.


    La base de données dépend du modèle objet (shema.yml) choisie pour l'application, pas le contraire.


    Ce shéma.yml est manifestement issu d'une récupération d'une structure plus ou moins fonctionnel d'une base de donnée existante. Ce n'est pas une bonne manière pour développer avec symfony et ne doit être utilisé que pour les cas extrêmes où il n'est réellement pas possible de faire autrement, ce qui est très, très rare.

    Crée un shema.yml qui correspond au modèle de données que tu veux gérer et crée ta base à partir de ce modèle.

    A partir du tiens, le shema donne :
    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
    #shema.yml
    Client:
      columns:
        nom:
          type: string() # c'est une très mauvaise idée de ne pas donnée une longueur à un champ string sauf mémo
          notnull: true
        prenom:
          type: string() # même remarque
          notnull: true # Attention, une personne dont on n'aurait que le nom ne pourra pas être créée.
     
    Billet:
      columns:
        nom:
          type: string() # toujours la même remarque ;)
          notnull: true
        date: # si la date est une date de création, il y a d'autre outil plus pratiques dans doctrine
          type: date
          notnull: true
        client_id: integer
      relations:
        Client:
          foreignAlias: Billets

Discussions similaires

  1. [Partenaire] Projet site commercial sérieux Symfony/doctrine
    Par bricecol dans le forum Autres
    Réponses: 0
    Dernier message: 28/03/2010, 23h25
  2. routage symfony doctrine
    Par superpilou dans le forum ORM
    Réponses: 0
    Dernier message: 26/02/2010, 12h36
  3. Tables fantomes sur Symfony/Doctrine
    Par goshiz dans le forum ORM
    Réponses: 2
    Dernier message: 29/01/2010, 17h14

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