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

Symfony PHP Discussion :

Utiliser data FosUserBundle dans un autre projet [2.x]


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 62
    Points : 38
    Points
    38
    Par défaut Utiliser data FosUserBundle dans un autre projet
    Bonjour,

    J'ai commencé à mettre en place le UserBundle du 1er projet dans le nouveau projet avec l'accès via un 2e manager. J'ai également pris soin de supprimer certains champs qui ne m’intéresse pas dans le nouveau projet.

    Avec la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console doctrine:schema:validate
    j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Mapping]  OK - The mapping files are correct.
    [Database] FAIL - The database schema is not in sync with the current mapping file.
    Du coup j'ai vérifié avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >php app/console doctrine:mapping:info --em=customer2
    Found 2 mapped entities:
    [OK]   Acme\UserBundle\Entity\Service
    [OK]   Acme\UserBundle\Entity\User
    Idem avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    > php app/console doctrine:schema:update --dump-sql --em=customer2
     
    DROP INDEX IDX_8D93D649ADFECE2E ON user;
    ALTER TABLE user DROP username, DROP username_canonical, DROP email, DROP email_canonical, DROP enabled, DROP salt, DROP password, DROP last_login, DROP locked, DROP expired, DROP expires_at, DROP confirmation_token, DROP password_requested_at, DROP roles, DROP credentials_expired, DROP credentials_expire_at;
    Ce que je comprend pas c'est pourquoi tous ces DROP alors que c'est des champs propre à FOS\UserBundle\Model\User.php quand je fais l'héritage type comme cité dans la doc de FOSUserBundle.

    Au final ça semble normal que j'ai ce genre d'erreur au login pour tester :

    Unrecognized field: usernameCanonical
    Vu que j'ai une erreur de Mapping.
    Est ce que quelqu'un a déjà réutilisé FOSUserbunde d'un projet dans un autre projet pour l'authentification?

    Merci d'avance.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Décembre 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 62
    Points : 38
    Points
    38
    Par défaut
    J'ai trouvé la solution ! Pour ceux qui seront probablement dans le même cas que moi, il faut tout simplement redefinir tous les champs FOSUser dans la classe User perso afin de pouvoir faire le mapping avec un Entity Manager différent du default.

    note de FOSUserbundle :
    It is highly recommended to map all fields used by the bundle (see the mapping files of the bundle in Resources/config/doctrine/). Omitting them can lead to unexpected behaviors and should be done carefully.
    Je met le post en résolu. A+

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

Discussions similaires

  1. [Débutant] Utiliser une classe dans un autre projet
    Par noftal dans le forum VB.NET
    Réponses: 10
    Dernier message: 12/11/2013, 18h22
  2. Réponses: 7
    Dernier message: 13/10/2009, 11h25
  3. Réponses: 2
    Dernier message: 13/09/2009, 19h51
  4. Wascana, utilisation de classe dans un autre projet
    Par BugBunny dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 04/10/2008, 13h07
  5. Utilisation d'un projet War dans un autre projet War
    Par helios2092 dans le forum Maven
    Réponses: 8
    Dernier message: 23/05/2008, 12h16

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