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 :

data-load après datadump : Integrity constraint violation


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 131
    Points : 46
    Points
    46
    Par défaut data-load après datadump : Integrity constraint violation
    Salut,

    J'ai exporté une de mes table avec doctrine:data-dump. ça a bien fonctionné. Mais impossible de faire en sens inverse le data-load. En fait l'identifiant de la table est un entier mais pas auto-increment. Le fixture a cette gueule :

    ...
    Victime_58506:
    nom: toto
    prenom: titi
    Sexe: Sexe_2
    date_naissance: '1959-06-01 00:00:00'
    ...

    Les victimes (il y en a 1200) ne sont pas insérées en base, ou plutôt une seule, avec l'id 0. En gros, il essaye de toutes les mettre avec l'id 0..

    Quelqu'un aurait une solution ? C'est quand même pas normal de ne pas pouvoir réimporter un dump...

    Merci à vous !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Pourquoi ton id n'est pas en autoincrement dans ta base ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 131
    Points : 46
    Points
    46
    Par défaut
    Parce que c'est des données que je prend d'une autre base. L'id d'un agent est son matricule (forcément unique). Je n'ai pas trouvé judicieux de créer un id supplémentaire pour ma base.

  4. #4
    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
    Importe ton id en même temps...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 131
    Points : 46
    Points
    46
    Par défaut
    excuse, je ne comprends pas ce que tu veux dire...

  6. #6
    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
    Tu importes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ...
    Victime_58506:
    nom: toto
    prenom: titi
    Sexe: Sexe_2
    date_naissance: '1959-06-01 00:00:00'
    ...
    sans l'Id.

    Donc le champ Id reste a 0.

    Soit tu l'auto-incrémante.

    Soit tu l'importe.

    Mais 0, il ne peut avoir comme Id.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 131
    Points : 46
    Points
    46
    Par défaut
    Salut, merci pour le temps que tu prends à me répondre, mes questions sont pas toujours pertinentes !

    Comment l'importer ? Je ne veux pas faire d'autoincrement (il faudrait que je modifie pas mal de code php). Ce qui me chagrine c'est que ce fixture vient d'un export doctrrine et que je ne puisse pas le réimporter... C'est quand même un comble non ? A moins qu'il y ait une option quelconque pour l'export ?

  8. #8
    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
    Et pourquoi ne pas l'exporter ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    131
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 131
    Points : 46
    Points
    46
    Par défaut
    Je ne comprends encore pas ce que tu veux dire. Il s'agit bien d'un export de ma table avec doctrine:data-dump que j'ai fait afin d'avoir un fixture dont la table victime soit remplie, pour avoir des données initiales complètes.

    data-dump suivi de data-load devrait fonctionner sans souci dans le meilleur des mondes non ?

Discussions similaires

  1. Réponses: 9
    Dernier message: 24/04/2011, 17h03
  2. Réponses: 3
    Dernier message: 04/03/2011, 09h30
  3. Réponses: 7
    Dernier message: 29/11/2010, 17h34
  4. Réponses: 1
    Dernier message: 26/11/2010, 11h34
  5. [table corrompue] integrity constraints violation
    Par if_zen dans le forum Requêtes
    Réponses: 9
    Dernier message: 17/06/2009, 19h43

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