Bonjour,

J'ai une table définie avec une génération en mode automatique pour ma clef primaire, id.

Le code associé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
JaiUneIdee\SiteBundle\Entity\AlerteIdee:
  type: entity
  repositoryClass: JaiUneIdee\SiteBundle\Repository\AlerteIdeeRepository
  table: alerte_idee
  fields:
    id:
      type: integer
      id: true
      generator:
        strategy: AUTO
 
....
Ma base de donnée est sous postgres, qui gère normalement l'incrémentation à l'aide de séquence.
Depuis symfony, tout va bien.
Mais aujourd'hui, j'ai essayé d'ajouter des valeurs manuellement dans la base de données à l'aide d'une commande INSERT basique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
INSERT INTO alerte_idee(id, idee_id, user_id) VALUES
(18,15,7),
(19,15,10),
(20,15,11),
(21,15,16),
(22,15,17)
La commande s'exécute bien, mais doctrine ne comprend pas que j'ai inséré ces lignes, et essaye de regénérer l'id 18... qui existe déjà. J'obtiens alors une erreur SQL de violantion de contrainte unique.

Si j'omets de spécifier l'id dans la requete, comme suis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
INSERT INTO alerte_idee(idee_id, user_id) VALUES
(15,7),
(15,10),
(15,11),
(15,16),
(15,17),
J'ai alors une violation de contrainte not null sur ma clef primaire id.

Sauriez-vous comment résoudre ce problème ?
Merci,
Pierre