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 plusieurs bases de données [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2012
    Messages : 135
    Par défaut Utiliser plusieurs bases de données
    Bonjour, je suppose que la question a déjà était posée auparavant mais je n'arrive pas à solutionner mon problème.

    Je souhaiterai dans le cadre du développement d'un projet, pouvoir en local utiliser à la fois la base de données locale et distante.

    J'ai suivis la documentation officiel Comment travailler avec plusieurs gestionnaires d'entités et connexions, j'ai bien accès aux données distante et ma base local est également acessible sans problème.

    Jusqu'a lors j'utilisai "auto_mapping: true", mais avec cette configuration, je me retrouve confronté à cette erreur:

    LogicException: You cannot enable "auto_mapping" when several entity managers are defined.
    A partir de la, j'ai cherché une solution, soit en utilisant un mapping manuel, malheureusement l'application est déjà à un stade très avancée et j'ai des difficultés à mapper l'ensemble.

    J'ai également trouvé plusieurs topics sur github ainsi que des PR Added a way to enable auto_mapping option using multipe entity managers #321.

    Malheureusement je ne parviens toujours pas à utiliser l'auto mapping.

    A titre d'information l'application ne tourne pas avec la dernière version de symfony2 (la version en production est 2.3.*).

    Si vous avez une solution ou une piste, je suis tout ouïe

    Bonne journée à tous et merci d'avance pour votre aide.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    Salut,
    Est ce que tu veux dire un mode ou toutes tes données viendraient de la préprod, et un mode ou toutes tes données viendrait de ta base locale, mais jamais les deux en même temps?
    Si c'est le cas c'est très simple, il suffit de renseigner deux informations différentes dans config_prod et config_dev, ainsi, quand tu accède a ton code par app.php tu auras les données de préprod, et si tu accède a ton code par app_dev.php tu auras tes données locales.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2012
    Messages : 135
    Par défaut
    Bonjour, merci pour la réponse.
    Je connaissai déjà cette solution mais ce que je souhaiterai c'est de pouvoir switch de bdd rapidement par exemple en éditant une ligne de mon fichier config ou en ajoutant un get params dans mon url.
    Merci quand même

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rapidement par exemple en éditant une ligne de mon fichier config
    bah il suffit de jongler avec les lignes de configurations de doctrine de ta config.

    Parcontre je comprends pas pourquoi tu as besoin de faire ça. Si tu peux t'expliquer un petit peu ca nous aidera a trouver une solution qui correspond plus a ton besoin

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2012
    Messages : 135
    Par défaut
    Bonjour,
    Merci d'avoir pris le temps de répondre.

    En fait je dois gérer plusieurs applications identiques mais qui utilisent plusieurs base de données distinctes (une pour chaque) et je souhaiterai pouvoir basculer d'une bdd à une autre avec le minimum d'effort, tout simplement.

    Si il y a pas de solution avec la version 2.3 de symfony, ce n'est pas dramatique, mais j'ai bon espoir de trouver un moyen simple de switch de bdd facilement.

    Pour le moment, j'utilise une alternative, qui consiste à avoir plusieurs fichiers parameters.yml (un pour chaque bdd) et je renomme le nom du fichier appelé dans config.yml.
    Ça fonctionne, mais je souhaiterai quelque chose de plus dynamique.

    Je vous souhaite une bonne journée.

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    J'en ai déjà parlé, mais tu peux avoir n environnements différents (donc autre que prod dev et test)
    ducoup tu auras trois fichiers config_client1 config_client2 config_client3 ...
    et tu peux switcher facilement avec app_client1.php, app_client2.php

    Après j'ai pas d'autre idées sans on s'orienter vers de la bidouille complète

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

Discussions similaires

  1. [MPD] Quand utiliser plusieurs bases de données ?
    Par remy67 dans le forum Schéma
    Réponses: 2
    Dernier message: 11/05/2014, 21h57
  2. [2.x] Comment utiliser plusieures bases de données?
    Par green29 dans le forum Symfony
    Réponses: 3
    Dernier message: 23/07/2013, 10h36
  3. [ZF 1.9] Utiliser plusieurs bases de données dans l'adapter
    Par Aure7780 dans le forum Zend_Db
    Réponses: 1
    Dernier message: 17/11/2009, 08h42
  4. Requête utilisant plusieurs bases de données
    Par GodGives dans le forum Langage SQL
    Réponses: 9
    Dernier message: 10/06/2008, 12h43
  5. [Conception] Utilisation de plusieurs bases de données ?
    Par cyreel dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 19/01/2007, 10h47

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