Bonjour à tous,

Je suis en stage dans un labo et je dois migrer un site web pour le recréer à partir du framework symfony. Je part d'un BDD assez grosse (45 tables) et j'aimerai savoir ce que je dois corriger quand je génère le schéma à partir de celle-ci.

De ce que j'ai trouvé sur le web, je dois refaire les relations N:N qui ne sont pas détectées mais quand je le fait et que je génère un backend, les listes créées par les relations N:N ne fonctionnent pas en édition et création.

Par exemple :
Schéma :
Person -> PersonAcitivity <- Activity

Table Person :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    PersonActivity:
      local: activity_id
      foreign: person_id
      class: Activity
      refClass: PersonActivity
Table Activity :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    PersonActivity:
      local: person_id
      foreign: activity_id
      class: Person
      refClass: PersonActivity
Table PersonActivity :
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
PersonActivity:
  connection: doctrine
  tableName: person_activity
  columns:
    person_id:
      type: integer(4)
      fixed: false
      unsigned: true
      primary: true
      autoincrement: false
    activity_id:
      type: integer(4)
      fixed: false
      unsigned: true
      primary: true
      autoincrement: false
  relations:
    Person:
      local: person_id
      foreign: id
      type: one
    Activity:
      local: activity_id
      foreign: id
      type: one
et si je veut filtrer ou éditer une personne, je me retrouve avec l'erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
500 | Internal Server Error | Doctrine_Connection_Mysql_Exception
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'p2.id' in 'on clause'
Deuxième question, que dois-je faire des relations many to one comme par exemple dans Person :

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
    Resource:
      local: id
      foreign: person_id
      type: many
    Resource_4:
      class: Resource
      local: id
      foreign: person_contact_id
      type: many
    Resource_5:
      class: Resource
      local: id
      foreign: person_responsible_id
      type: many
    Resource_6:
      class: Resource
      local: id
      foreign: person_updater_id
      type: many
    Task:
      local: id
      foreign: person_id
      type: many
alors que les clés sont dans l'autre table (task, resource,...).