Symfony2 – Configurer une base de donnée Postgresql

janvier 27, 2015 6:23 Publié par Laissez vos commentaires

Dans ce tuto nous allons apprendre à configurer une base de donnée Posgresql sur le Framework PHP Symfony (installé sur une distribution Linux Centos 6.5)
Assurez vous d’avoir installé les librairies posgresql pour php.

yum install php5-pgsql

Il est heureusement possible d’utiliser Mysql ET Postgresql sur un même projet :

La configuration s’effectue principalement dans 2 fichiers :

{{/app/config/parameters.yml }}

Ajoutez les lignes suivantes dans le fichier :

  # Postgresl
    psql_database_driver: pdo_pgsql
    psql_database_host: 127.0.0.1
    psql_database_port: 5432
    psql_database_name: mabase
    psql_database_user: root
    psql_database_password: toto

{{/app/config/config.yml}}

# Doctrine Configuration
doctrine:
    dbal:
        default_connection: default
        connections:
            #Mysql
            default:
                driver:   "%database_driver%"
                host:     "%database_host%"
                port:     "%database_port%"
                dbname:   "%database_name%"
                user:     "%database_user%"
                password: "%database_password%"
                charset:  UTF8

            #Postgresql
            pgsql:
                driver:   "%psql_database_driver%"
                host:     "%psql_database_host%"
                port:     "%psql_database_port%"
                dbname:   "%psql_database_name%"
                user:     "%psql_database_user%"
                password: "%psql_database_password%"
                charset:  UTF8

    orm:
        default_entity_manager: default
        auto_generate_proxy_classes: "%kernel.debug%"
        #auto_mapping: true

        entity_managers:
            default:
                connection: default

                # lister les Bundles utilisant la connexion par defaut
               
                mappings:
                    monprojetmysqlBundle:  ~
                    tutoUserBundle:  ~


            pgsql:
                connection: pgsql    # connection name for your additional DB

                # bundles utilisant la connexion Postgresql
                mappings:
                   # PostgresqlBundle: ~

Création d’une base de donnée postgresql :

[root@dev symfony]# php app/console doctrine:database:create --connection=pgsql
Created database for connection named "mabase"

Pour créer une base de donnée mysql (par défaut) il suffit d’utiliser la commande suivante :

php app/console doctrine:database:create

Mise à jour du schéma :

php app/console doctrine:schema:update --force --em=pgsql

Voilà pour une configuration basique de Postgres sur Symfony2.
A+

Classés dans :

Cet article a été écrit par admin

Laisser un commentaire