Bonjour,

Nous essayons de faire une autojointure dans notre base de donnée.

Le schéma est le suivant :
Une série a plusieurs séries connexes.

On a donc une table Serie Connexe qui contient :
id_serie
id_serie_connexe

Voici notre shéma.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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
SerieConnexe:
  connection: doctrine
  tableName: serie_connexe
  columns:
    serie_id:
      type: integer
      primary: true
    serie_connexe_id:
      type: integer
      primary: true
  relations:
    Serie:
      foreignAlias: SerieConnexes
      local: serie_id
    Serie:
      foreignAlias: SerieConnectes 
      local: serie_connexe_id
Serie:
  connection: doctrine
  tableName: serie
  actAs:
    I18n:
      fields: [name]
  columns:
    id:
      type: integer(8)
      primary: true
      autoincrement: true
    name:
      type: string(255)
  relations:
    SerieConnexes:
      foreignAlias: SerieConnexes
      class: Serie
      refClass: SerieConnexe
    SerieConnectes:
      foreignAlias: SerieConnectes
      class: Serie
      refClass: SerieConnexe

Alors, pour ce qui est de la création de migration, ainsi que de l'application en BDD, c'est nickel. On a bien la table comme on le désire.

Le seul problème, c'est qu'après notre processus de migration, si on demande a symfony de recréer une nouvelle migration, il va quoi qu'il arrive essayer de créer une relation de nouveau sur série connexe. On obtient donc des messages SQL d'erreur : index existant ou relation existante.

Avez vous déjà vu ce problème ? Avez vous peut etre un exemple d'autojointure qui fonctionne ?

Merci,
Pierre