IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Doctrine2 PHP Discussion :

Personnaliser le nom des index


Sujet :

Doctrine2 PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Porteur de projets Web
    Inscrit en
    Mai 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Porteur de projets Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 41
    Par défaut Personnaliser le nom des index
    Bonjour,

    Je dispose d'une entity qui a une référence (ManyToOne) vers elle-même.
    Du coup, en utilisant les annotations, j'écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    /**
     * {@inheritDoc}
     * @orm:ManyToOne(targetEntity="MyEntity")
     * @orm:JoinColumn(name="parent_id", referencedColumnName="id", nullable=true)
     */
    	protected $parent;
    En utilisant la commande php app/console doctrine:schema:create --dump-sql, je vois que l'index qui va être créé porte un nom du type IDX_C40679A2727ACA70. Je souhaiterais personnaliser le nom de mon index.
    J'ai essayé d'ajouter l'attribut @orm:Index dans @orm:Table de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    /** @orm:Table(name="MyTableName", indexes={@orm:Index(name="idx_parent_id_fk", columns={"parent_id"})})
    *
    */
    , mais ça ne fonctionne pas dans ce cas. J'ai l'impression que @JoinColumn est prioritaire. Quelqu'un a une idée?

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    195
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 195
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @orm:Table(name="MyTableName", indexes={@index(name="idx_parent_id_fk", columns={"parent_id"})})
    à mon avis c'est ton "orm:" qui est en trop ( en plus dans la beta2 c'est plus comme ça que ça se présente les annotations )

  3. #3
    Membre averti
    Homme Profil pro
    Porteur de projets Web
    Inscrit en
    Mai 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Porteur de projets Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 41
    Par défaut
    Bonjour,

    Par mis la multitude de choses que j'ai essayées, il me semble avoir fait ça également, et ça n'a pas marché.
    Mais bon, je vais déjà me mettre au goût du jour (Bêta 2) et je verrai après.

    Merci.

  4. #4
    Membre averti
    Homme Profil pro
    Porteur de projets Web
    Inscrit en
    Mai 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Porteur de projets Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 41
    Par défaut
    Je viens de migrer vers la bêta 2 et j'ai essayé sans ORM et avec, et ça ne veut pas marché.

    Si quelqu'un a une autre idée pour personnaliser le nom des index...

    Merci

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Par défaut
    J'ai juste une question : pourquoi tu veux personnaliser le nom de cet index ?

    Si tu utilises un ORM comme Doctrine, tu dois totalement t'affranchir du cote "base de donnees", et donc je vois pas a quel moment t'aurais besoin du nom de cet index.

    C'est impossible de faire de l'ORM et du "a la main" en meme temps normalement.

  6. #6
    Membre averti
    Homme Profil pro
    Porteur de projets Web
    Inscrit en
    Mai 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Porteur de projets Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 41
    Par défaut
    C'est une bonne question.

    Je suis un peu un puriste et j'aime bien adopter quelques conventions.
    Je suis d'accord avec toi, finalement, ça ne sert à rien.
    Mais je me dis qu'on devrait pouvoir y arriver. Par exemple, j'y suis arrivé avec la constraint unique. Pour cela, au lieu de définir la contraint dans le tag @Column ... unique=true, je l'ai défini dans le tag @Table avec @UniqueConstraint

    Du coup, je pensais vraiment y arriver de la même manière avec un index classique.

    Mais bon, je crois que je vais arrêté de chercher, c'est pas très important.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Personnaliser le nom des colonnes d'un listview remplit en SQL
    Par PrincessGirl dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/06/2012, 08h34
  2. Personnaliser la page d'indexation des fichiers
    Par gnouz dans le forum Apache
    Réponses: 2
    Dernier message: 18/04/2009, 03h11
  3. Réponses: 1
    Dernier message: 04/05/2008, 23h26
  4. Réponses: 2
    Dernier message: 28/09/2007, 17h35
  5. [iReport] Export XL : personnaliser le nom des feuilles
    Par jtouille dans le forum iReport
    Réponses: 5
    Dernier message: 13/06/2007, 10h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo