Bonjour,
je suis en train de me former sur symfony avec l'ORM propel, pour être précis je n'utilise pas le propel de base mais sfPropelORMPlugin.
J'ai fais le schema de ma base de donnée, une base très simple mais avec une relation many to many :
on a donc une table user ( id, nom, prénom, mail, année de naissance ), une table groupe ( id, nom ) et une table usergroup ( userId, goupId ).
Lorsque je fais la commande build-sql, pas de problème à première vue mais lorsque je lance insert-sql, j'ai l'erreur suivante :
pourtant je ne lui demande pas de me créer de champs id pour cette table là.
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 [propel-sql-exec] Failed to execute: CREATE TABLE `usergroup` ( `userId` INTEGER NOT NULL, `groupId` INTEGER NOT NULL, `id` INTEGER NOT NULL AUTO_INCREMENT, PRIMARY KEY (`userId`,`groupId`,`id`), INDEX `usergroup_FI_2` (`groupId`), CONSTRAINT `usergroup_FK_1` FOREIGN KEY (`userId`) REFERENCES `user` (`id`), CONSTRAINT `usergroup_FK_2` FOREIGN KEY (`groupId`) REFERENCES `group` (`id`) ) ENGINE=InnoDB [propel-sql-exec] SQLSTATE[42000]: Syntax error or access violation: 1075 Incorr ect table definition; there can be only one auto column and it must be defined a s a key
Voici également mon fichier schema.yml :
Est-ce qu'il y a un attribut a ajouter pour ne pas avoir de champs id ajouté automatiquement ?
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 propel: user: id: type: integer primarykey: true autoincrement: true name: type: varchar(100) required: true index: unique surname: type: varchar(100) required: true index: unique mail: type: varchar(100) yearOfBirth: type: integer group: id: type: integer primarykey: true autoincrement: true name: type: varchar(100) usergroup: _attributes: isCrossRef: true userId: type: integer foreignTable: user foreignReference: id primarykey: true groupId: type: integer foreignTable: group foreignReference: id primarykey: true
Merci
Partager