Ceci est une ancienne révision du document !
Symfony et les Databases
Si on utilise MySQL, il faut que l'extension pdo_mysql soit activée dans PHP, sinon erreur :
In PDOConnection.php : could not find driver
Prérequis
Il faut que l'ORM soit installé, sinon →composer require symfony/orm-pack
Configurer un projet
dans le fichier .env
modifier la valeur DATABASE_URL
- Fichier .env
DATABASE_URL=mysql://User:Password@192.168.1.103:3306/Database_Name
J'ai eu une erreur «SQLSTATE[HY000] [2002] Aucune connexion na pu être établie car l'ordinateur cible la expressément refuse.» qui était dû a une mauvaise forme de l'Url, peut être un espace a la fin ou autre ???
Test : Creation de la base de donnée
Création de la base de donnée avec console doctrine:database:create
D:\webprojects\test-api-project>php bin/console doctrine:database:create Created database `test_api_project` for connection named default
Vérification avec un client MySQL (comme HeidiSQL)
Supprimer la base de données
Supprimer la base de donnée liée au projet avec la commande console doctrine:database:drop –force
–force
est obligatoire sinon il demande de rajouter ce drapeau, pour être sure que vous soyez sure de vouloir supprimer la base de données et son contenu !
D:\webprojects\test-api-project\bin>php console doctrine:database:drop --force Dropped database `test_api_project` for connection named default
Mettre a jour les tables suite a la modification d'une Entity
Grâce à la commande console doctrine:schema:update
.
2 options :
On peut vérifier ce qui va etre fait avec l'option –dump-sql
D:\webprojects>symfony console doctrine:schema:update --dump-sql The following SQL statements will be executed: ALTER TABLE article ADD short_description LONGTEXT DEFAULT NULL;
On peut exécuter l’opération avec l'option –force
D:\webprojects>symfony console doctrine:schema:update --force Updating database schema... 1 query was executed
Vous pourriez laisser un commentaire si vous étiez connecté.