Pour commencer, il faut activer les pilotes PostgreSQL pour permettre à PHP d’accéder aux bases de données PostgreSQL.
Les pilotes pgsql et pdo_pgsql sont nécessaires.
Si vous utilisez une solution comme WAMP, Laragon, Easy PHP, les pilotes sont simplement désactivés et les fichiers DLL nécessaires sont présents dans le répertoire ‘ext’ de votre dossier php utilisé.
Dans tous les cas, il faut dé-commenter les lignes suivantes dans votre fichier de configuration php.ini:
Note: pour localiser votre fichier php.ini utilisé, vous pouvez ouvrir un terminal dans le dossier de votre projet php et taper la commande php –ini.
Pour s’assurer de l’activation de ces pilotes, vous pouvez tapez la commande « php -i« . Si tout s’est bien passé, vous devriez voir apparaître ces lignes dans la sortie :
II. Configurer Symfony
Il faut se rendre dans le fichier doctrine.yml situé à la racine de votre projet dans config/packages.
Remplacez le driver utilisé par pdo_pgsql et les références à utf8mb4 (qui est l’encodage par défaut de MySQL) en utf8:
III. Connexion ou création de la base de données
Dans tous les cas, ouvrez le fichier .env situé à la racine de votre projet.
Changez la constante DATABASE_URL par les données adéquates:
Note: le port 5432 est le port par défaut utilisé par PostgreSQL.
Le nom de la base de données peut faire référence à la base de données à laquelle vous souhaitez vous connecter ou alors au nom de la base de données que vous souhaitez créer.
Si vous souhaitez créer la base de données exécutez la commande à la racine de votre projet:
php bin/console doctrine:database:create
IV. Vérification que la connexion est établie
Il y a probablement des moyens plus élégants de le faire (n’hésitez pas à le dire en commentaire si vous en connaissez 😉 ) mais pour tester le fait que la connexion est fonctionnelle, vous pouvez exécuter à la racine de votre projet la commande:
php bin/console doctrine:query:sql 'SELECT 1'
S’il n’y a pas d’erreur, c’est que vous êtes bien connecté! 🙂
Il y a plus d'un an, nous avions fait un article équivalent pour Symfony 4. Si vous l'avez lu, vous ne serez pas dépaysé, la démarche est quasiment identique !
Aujourd'hui on va voir pas à pas comment établir une connexion vers une base de données PostgreSQL dans Symfony 5 :)
Versions utilisées pour l'article :
Symfony 5.2Doctrine 2.8PostgreSQL 11
Je pars du principe que vou...
Lorsque vous voulez créer un projet avec une version spécifique de Symfony, vous pouvez le faire via le bin de Symfony ou avec Composer.
Nous allons supposer dans cet article que nous voulons installer Symfony version X.X.
I. Première méthode: avec l...
Merciiiiii