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 :

Les fixtures ne se chargent pas


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 128
    Par défaut Les fixtures ne se chargent pas
    Bonsoir à tous !

    Je rencontre actuellement un problème alors que je tente d'alimenter ma base de données via les fixtures dans symfony 1.4.

    Voici ce que je fais pour charger mes fixtures :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    C:\wamp\www\intranet>symfony doctrine:data-load
    >> doctrine  Loading data fixtures from "C:\wamp\www\intranet\data/fixtures"
    >> doctrine  Loading data fixtures from "C:/...trineGuardPlugin/data/fixtures"
    >> doctrine  Data was successfully loaded
    Comme on peut le lire, d'après doctrine, les données ont bien été chargées. Et pourtant, si je regarde dans ma base de données, MySQL ne me retourne aucune entrée.

    Ce problème n'apparaît pas avec toutes les tables.

    Voici un exemple d'une table avec laquelle ça fonctionne pas :

    Description de la table dans schema.yml

    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
    Poles:
      connection: doctrine
      tableName: poles
      columns:
        nom:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
      relations:
        MembresPolesPostes:
          local: id
          foreign: pole
          type: many
        Pave:
          local: id
          foreign: pole
          type: many
    et maintenant voici le fichier qui poles.yml :

    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
    Poles:
      seniors:
        nom: Séniors
      juniors:
        nom: Juniors
      espoir:
        nom: Espoir
      technique:
        nom: Technique
      pedagogie:
        nom: Pédagogie
      communication:
        nom: Communication
      bureau:
        nom: Bureau
    J'ai lu sur Internet que les fixtures n'étaient pas fait pour charger de grosses quantités de données. Mais je ne suis pas dans ce cas là, car quand je tente de charger seulement ces 7 entrées, ça ne marche pas...

    Si quelqu'un sait d'où vient le problème, je suis preneur !

    Merci d'avance pour votre aide !

  2. #2
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Je penses que c'est un problème d'ordre. Tu dois avoir des données qui doivent être charger avant toutes les autres. Et là ça ne doit pas être le cas.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 128
    Par défaut
    Normalement symfony gère tout seul l'ordre.

    Et quand je prends l'exemple que j'ai donné dans mon premier post, il ne devrait pas y avoir de problème d'ordre ou de dépendance.

    Un pôle est composé uniquement d'un nom... Pour les relations, on est sur un type many, donc pas de clefs étrangères dans la tables "Pôles".

    Une autre idée ?

  4. #4
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Je t'assure que non doctrine ne génère pas les listes dans le bon ordre car j'ai eu le cas.

    Il te faut un champs id qui n'est pas présent dans ton schéma. Ensuite les nom des entêtes doivent être de la forme suivante :
    nom-de-table_un-numéro

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 128
    Par défaut
    Hum, je ne suis pas certain de ce que tu affirmes.

    J'ai suivi le tutoriel Jobeet : http://www.symfony-project.org/jobee...Doctrine/fr/03

    Et comme tu peux le voir, le champs id n'est pas obligatoire. D'ailleurs il est généré automatiquement lorsqu'on génère le script SQL.

    D'ailleurs, voici une citation du tuto :

    Un fichier de jeu de test est écrit en YAML, et définit les objets du modèle, étiquetés avec un nom unique (par exemple, nous avons défini deux emplois étiquetés job_sensio_labs et job_extreme_sensio). Cette étiquette est d'une grande utilitée pour relier les objets liés, sans avoir à définir les clés primaires (qui sont souvent auto-incrémenté et ne peuvent pas être attribuées). Par exemple, la catégorie d'emploi de job_sensio_labs est programming, qui est l'étiquette donnée à la catégorie 'Programming'.
    Ensuite , si on jette un coup d'oeil aux fichiers fixtures de l'exemple (toujours le même lien), on remarque que le tutoriel ne respecte en aucun cas ton formatage concernant les entêtes...


    De plus, je me permets un nouvel contre exemple. Si je prends par exemple ma table membre.

    Voici son schéma :

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    Membres:
      connection: doctrine
      tableName: membres
      columns:
        nom:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        prenom:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        promotion:
          type: integer
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        login_efrei:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        tel_portable:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        tel_fixe:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        adresse:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        adressebis:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        code_postale:
          type: integer
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        ville:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        pays:
          type: string(2)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        num_secu:
          type: string(255)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        date_inscription:
          type: date(25)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        derniere_adhesion:
          type: date(25)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        commentaire:
          type: string()
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        capacites:
          type: string()
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
        candidat:
          type: enum(3)
          fixed: false
          unsigned: false
          values:
            - Oui
            - Non
          primary: false
          notnull: false
          autoincrement: false
        renouvellement:
          type: enum(3)
          fixed: false
          unsigned: false
          values:
            - Oui
            - Non
          primary: false
          notnull: false
          autoincrement: false
        mdp:
          type: string(40)
          fixed: false
          unsigned: false
          primary: false
          notnull: false
          autoincrement: false
      relations:
        Cours:
          local: id
          foreign: auteur
          type: many
        InscriptionsMembres:
          local: id
          foreign: membre
          type: many
        MembresPolesPostes:
          local: id
          foreign: membre
          type: many
        MissionsCommunication:
          local: id
          foreign: charge
          type: many
        Pave:
          local: id
          foreign: membre
          type: many
        Seances:
          local: id
          foreign: responsable
          type: many
    et voici son fixture :

    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
    Membres:
      dupontm:
        nom: DUPONT
        prenom: Martin
        promotion: 2013
        login_efrei: dupontm
        tel_portable: 0606060606
        tel_fixe: 0101010101
        adresse: 7 rue du petit chemin
        adressebis: 
        code_postale: 92320
        ville: Versailles
        pays: FR
        num_secu: 0000
        date_inscription: 2011-12-04
        derniere_adhesion: 2011-12-04
        commentaire: RAS
        capacites: RAS
        candidat: Non
        renouvellement: Oui
        mdp: test
    Cette exemple fonctionne très bien, les données sont bien insérées dans ma table "Membres".

    Tout ça pour dire, que je pense que le problème vient d'ailleurs.

Discussions similaires

  1. [1.x] Données fixtures.yml qui ne se chargent pas.
    Par Hotei dans le forum Symfony
    Réponses: 1
    Dernier message: 23/07/2011, 13h29
  2. Réponses: 0
    Dernier message: 24/04/2011, 22h46
  3. [RCP] Les plugins ne se chargent pas
    Par rohrix00 dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 17/09/2010, 09h49
  4. Les classes ne s'affichent pas
    Par karl3i dans le forum MFC
    Réponses: 8
    Dernier message: 26/01/2004, 14h52

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