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
-~----------~----~----~----~------~----~------~--~---

Répondre à