Merci nautilbleu pour ta réponse,
Pour le PhpName, c'était un test, puisque cela ne marchait pas
auparavant :D
Bien vu pour l'InnoDB :D
Le fichier YAML ci-dessus (en modifiant "foreignTable: Motcle" par
"foreignTable: motcle") donne le SQL ci-dessous.
Il y a bien les index ?
Sinon dans PhpMyAdmin un "DELETE motcle_lien" ne supprime pas les
lignes correspondantes dans la table "motcle", j'ai donc raté
quelquechose, suis-je stupide ?
CREATE TABLE `motcle`
(
`id` INTEGER NOT NULL AUTO_INCREMENT,
`mot` VARCHAR(50),
PRIMARY KEY (`id`)
)Type=InnoDB;
CREATE TABLE `motcle_lien`
(
`id` INTEGER NOT NULL AUTO_INCREMENT,
`motcle_id` INTEGER,
`lien_id` INTEGER,
`classement` TINYINT,
PRIMARY KEY (`id`),
INDEX `motcle_lien_FI_1` (`motcle_id`),
CONSTRAINT `motcle_lien_FK_1`
FOREIGN KEY (`motcle_id`)
REFERENCES `motcle` (`id`)
ON DELETE CASCADE,
INDEX `motcle_lien_FI_2` (`lien_id`),
CONSTRAINT `motcle_lien_FK_2`
FOREIGN KEY (`lien_id`)
REFERENCES `lien` (`id`)
)Type=InnoDB;
On 22 mai, 16:34, nautilebleu <[EMAIL PROTECTED]> wrote:
> Si ta table est en InnoDB, tu n'as pas besoin d'émuler: MySQL le fera
> tout seul !
>
> Il me semble que dans le schema, il faut donner comme nom de
> foreignTable le nom de la table et pas le phpName (càd dans ton cas:
> motcle et pas Motcle) Il faut aussi des index dans la definition de la
> jointure.
>
> Nautile
>
> On 22 mai, 15:32, xescorp <[EMAIL PROTECTED]> wrote:
>
> > J'ai l'impression d'avoir tout fait pour que l'émulation d'On Delete
> > Cascade passe sous Mysql.
>
> > 1- J'ai ajouté dans propel.ini la ligne :
> > propel.emulateForeignKeyConstraints = true
>
> > 2- Dans mon schema.yml, j'ai ajouté { type: integer, foreignTable:
> > Motcle, foreignReference: id, onDelete: cascade } à ma clé étrangère :
>
> > propel:
> > motcle:
> > _attributes: { phpName: Motcle }
> > id:
> > mot: varchar(50)
>
> > motcle_lien:
> > _attributes: { phpName: MotcleLien }
> > id:
> > motcle_id: { type: integer, foreignTable: Motcle,
> > foreignReference: id, onDelete: cascade }
> > lien_id:
> > classement: tinyint
>
> > 3- J'ai fait mon "symfony propel-build-all-load fo"
>
> > 4- Cependant quand je fais mon $motcleLienDelete->delete(); , les
> > infos de la table "motcle" ne sont pas supprimés.
>
> > Je n'ai rien trouvé d'autres de concluant sur le Forum. Ai-je raté
> > quelquechose ?
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr"
de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse [email protected]
Pour résilier votre abonnement à ce groupe, envoyez un e-mail à
l'adresse [EMAIL PROTECTED]
Pour afficher d'autres options, visitez ce groupe à l'adresse
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---