Nautilebleu, merci encore,

Je n'ai mis qu'une FK on delete cascade, je voulais tester, en théorie
il doit y en avoir partout.
Peut être cela vient-il aussi des configs propel.ini (encore plus en
dessous), pourtant j'ai ajouté "propel.mysql.tableType = InnoDB".

Tu vois mieux ce qui cloche ?


propel:

  gabarit:
    _attributes:          { phpName: Gabarit }
    id:
    gabarit_id:
    titre:                    varchar(50)
    css:                    varchar(255)
    template:             varchar(255)
    description:          varchar(255)
    created_at:
    updated_at:

  configsite:
    _attributes:          { phpName: Configsite }
    id:
    gabarit_id:
    titre_bloc_lien:      varchar(50)
    menu1:                tinyint
    menu2:                tinyint
    bloc_visible:         tinyint
    created_at:
    updated_at:

  configpagelien:
    _attributes:          { phpName: Configpagelien }
    id:
    titre:                varchar(50)
    titre_menu:           varchar(50)
    meta_description:     varchar(255)
    meta_title:           varchar(50)
    url:                  varchar(255)
    titre_partenaire:     varchar(50)
    type_page:            tinyint
    en_ligne:             tinyint
    nb_lien_max:          tinyint
    majeur:               tinyint
    mineur:               tinyint
    annexe:               tinyint
    majeur_partenaire:    tinyint
    mineur_partenaire:    tinyint
    annexe_partenaire:    tinyint
    created_at:
    updated_at:

  categorie:
    _attributes:          { phpName: Categorie }
    id:                   { type: integer, required: true, primaryKey:
true, autoincrement: true }
    categorie_id:
    configsite_id:
    configpagelien_id:
    titre:                varchar(50)
    description:          varchar(255)
    created_at:
    updated_at:

  lien:
    _attributes:          { phpName: Lien }
    id:                   { type: integer, required: true, primaryKey:
true, autoincrement: true }
    site_id:
    categorie_id:
    url:                  varchar(255)
    visible:              tinyint
    niveau:               tinyint
    proprietaire:         tinyint
    date_mise_en_ligne:   date
    created_at:
    updated_at:

  lienimage:
    _attributes:          { phpName: Lienimage }
    id:                         { type: integer, required: true,
primaryKey: true, autoincrement: true }
    image:                  varbinary
    created_at:
    updated_at:

  lientitre:
    _attributes:            { phpName: Lientitre }
    id:                         { type: integer, required: true,
primaryKey: true, autoincrement: true }
    lien_id:
    titre:                      varchar(50)
    type_titre:              tinyint
    classement:           tinyint
    created_at:
    updated_at:

  liendescription:
    _attributes:             { phpName: Liendescription }
    id:                          { type: integer, required: true,
primaryKey: true, autoincrement: true }
    lien_id:
    description:             longvarchar
    classement:            tinyint
    created_at:
    updated_at:

  motcle:
    _attributes:             { phpName: Motcle }
    id:
    mot:                       varchar(50)
    created_at:
    updated_at:

  motcle_lien:
    _attributes:             { phpName: MotcleLien }
    id:
    motcle_id:              { type: integer, foreignTable: motcle,
foreignReference: id, onDelete: cascade }
    lien_id:
    classement:           tinyint
    created_at:
    updated_at:

  motcle_site:
    _attributes:             { phpName: MotcleSite }
    motcle_id:
    site_id:
    classement:           tinyint
    created_at:
    updated_at:

  site:
    _attributes:          { phpName: Site }
    id:                      { type: integer, required: true,
primaryKey: true, autoincrement: true }
    configsite_id:
    configpagelien_id:
    titre:                    varchar(50)
    baseline:             varchar(255)
    en_ligne:             tinyint
    created_at:
    updated_at:

  rubrique:
    _attributes:            { phpName: Rubrique }
    id:                         { type: integer, required: true,
primaryKey: true, autoincrement: true }
    site_id:
    titre:                      varchar(255)
    titre_menu:            varchar(50)
    meta_description:   varchar(255)
    meta_title:             varchar(50)
    url:                        varchar(255)
    en_ligne:                tinyint
    classement:           tinyint
    created_at:
    updated_at:

  article:
    _attributes:          { phpName: Article }
    id:                      { type: integer, required: true,
primaryKey: true, autoincrement: true }
    rubrique_id:
    titre:                    varchar(255)
    sous_titre:           varchar(255)
    chapo:                longvarchar
    article:                longvarchar
    url:                     varchar(255)
    en_ligne:             tinyint
    created_at:
    updated_at:


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - -


propel.targetPackage       = lib.model
propel.packageObjectModel  = true
propel.project             = monprojet
propel.database            = mysql
propel.database.createUrl  = mysql://root:@localhost
propel.database.url        = mysql://root:@localhost/monprojet


propel.addGenericAccessors = true
propel.addGenericMutators  = true
propel.addTimeStamp        = false

propel.schema.validate     = false

; directories
propel.home                    = .
propel.output.dir              = D:\programmation\wamp\www\monprojet
propel.schema.dir              = ${propel.output.dir}/config
propel.conf.dir                = ${propel.output.dir}/config
propel.phpconf.dir             = ${propel.output.dir}/config
propel.sql.dir                 = ${propel.output.dir}/data/sql
propel.runtime.conf.file       = runtime-conf.xml
propel.php.dir                 = ${propel.output.dir}
propel.default.schema.basename = schema
propel.datadump.mapper.from    = *schema.xml
propel.datadump.mapper.to      = *data.xml

; builder settings
propel.builder.peer.class              =
addon.propel.builder.SfPeerBuilder
propel.builder.object.class            =
addon.propel.builder.SfObjectBuilder

propel.builder.objectstub.class        =
addon.propel.builder.SfExtensionObjectBuilder
propel.builder.peerstub.class          =
addon.propel.builder.SfExtensionPeerBuilder
propel.builder.objectmultiextend.class =
addon.propel.builder.SfMultiExtendObjectBuilder
propel.builder.mapbuilder.class        =
addon.propel.builder.SfMapBuilderBuilder
propel.builder.interface.class         =
propel.engine.builder.om.php5.PHP5InterfaceBuilder
propel.builder.node.class              =
propel.engine.builder.om.php5.PHP5NodeBuilder
propel.builder.nodepeer.class          =
propel.engine.builder.om.php5.PHP5NodePeerBuilder
propel.builder.nodestub.class          =
propel.engine.builder.om.php5.PHP5ExtensionNodeBuilder
propel.builder.nodepeerstub.class      =
propel.engine.builder.om.php5.PHP5ExtensionNodePeerBuilder

propel.builder.addIncludes = false
propel.builder.addComments = false

propel.builder.addBehaviors = false
;propel.emulateForeignKeyConstraints = true
propel.mysql.tableType = InnoDB





On 24 mai, 09:20, nautilebleu <[EMAIL PROTECTED]> wrote:
> 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 à