Hum, je ne vois pas trop ce qui cloche. Tu peux mettre ton fichier
schema.yml ?
Nautile
On 23 mai, 17:07, xescorp <[EMAIL PROTECTED]> wrote:
> 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
-~----------~----~----~----~------~----~------~--~---