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

FAQ SymfonyConsultez toutes les FAQ

Nombre d'auteurs : 17, nombre de questions : 81, dernière mise à jour : 18 juin 2017  Ajouter une question

 

Les questions redondantes se multipliant sur le forum Symfony, nous avons choisi de créer cette FAQ afin de regrouper les questions qui sont posées fréquemment.

Vos remarques et idées sont les bienvenues. Et pourquoi pas votre aide ! S'il vous prend l'envie de tailler votre plus belle plume et de retrousser vos manches, il y a de quoi faire !

SommaireSymfony 1Gestion des bases de données sur Symfony 1 (3)
précédent sommaire suivant
 

L'erreur « MySQL extension not loaded » durant la génération du schéma de la base de données avec Propel ?

En fait, dans ce cas Symfony ne cherche pas le bon fichier de configuration php.ini.

Il faut simplement modifier le fichier php.ini situé dans le répertoire « php5 » de Symfony. Une autre solution consiste à reprendre le fichier php.ini utilisé par Apache (se reporter à la fonction phpinfo() pour le localiser), mais en prenant garde d'adapter les chemins d'accès qui s'y trouvent.

Mis à jour le 29 octobre 2015 phpiste Siguillaume

Il est possible d'utiliser plusieurs bases de données avec Symfony et Propel. Pour ce faire, nous devons créer deux configurations dans « config/databases.yml » :

all:
propel:
class: sfPropelDatabase
param:
dsn: pgsql://base1@hostname/database1

database2:
class: sfPropelDatabase
param:
dsn: mysql://base2@hostname/database2

Code : Sélectionner tout
1
2
3
4
 
$c = new Criteria(); 
$bd1 = ArticlePeer::doSelect($c, Propel::getConnection('propel')); // base 1 
$bd2 = ArticlePeer::doSelect($c, Propel::getConnection('database2')); // base 2
Pour des utilisations plus avancées, vous pouvez imaginer un système de backup et « RAID ».

Mis à jour le 29 octobre 2015 FlUxIuS

Pour utiliser plusieurs bases de données avec Symfony et Doctrine, il faut d'abord préciser que plusieurs bases de données sont à utiliser dans le fichier de configuration ad hoc. Ensuite, il suffira de définir dans le schéma quelle table sera inscrite dans quelle base de données.

Premièrement, configurons plusieurs bases de données dans le fichier idoine /config/databases.ym:

all:
doctrine_1:
class: sfDoctrineDatabase
param:
dsn: 'mysql:host=localhost;dbname=db'
username: db_user
password: monSiBeayMotDePasseQuePersonneNeConnaît
doctrine_2:
class: sfDoctrineDatabase
param:
dsn: 'mysql:host=localhost;dbname=db2'
username: db2_user
password: monSiBeayMotDePasseQuePersonneNeConnaîtNiNeVeutConnaître



Maintenant, dans votre schéma, il suffit d'utiliser le paramètre connection pour indiquer laquelle des deux bases de données devra héberger cette table et son contenu.
Utilisateur:
tableName: db2.utilisateur
connection: doctrine_1
columns:
nomdutilisateur: string(255)

Mis à jour le 29 octobre 2015

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2021 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.