[propel]build-sql rajoute un champs id
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 :
Code:
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 |
pourtant je ne lui demande pas de me créer de champs id pour cette table là.
Voici également mon fichier schema.yml :
Code:
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 |
Est-ce qu'il y a un attribut a ajouter pour ne pas avoir de champs id ajouté automatiquement ?
Merci