Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:symfony:doctrine:databases [11/11/2019 16:53]
thierry [Supprimer la base de données]
prog:symfony:doctrine:databases [23/10/2022 17:08] (Version actuelle)
thierry ↷ Page déplacée de prog:symfony:entities:databases à prog:symfony:doctrine:databases
Ligne 1: Ligne 1:
 ====== Symfony et les Databases ====== ====== Symfony et les Databases ======
-<note important>​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''​ </note>+ 
 +===== Sources à jour ===== 
 +  * [[https://symfony.com/doc/​current/​doctrine.html]] 
 ===== Prérequis ===== ===== Prérequis =====
-Il faut que l'ORM soit installé, sinon ->''​composer require ​symfony/orm-pack''​+Il faut que l'ORM soit installé, sinon ->''​symfony ​composer req orm''​ 
 +<note important>​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''​ </​note>​
  
 ===== Configurer un projet ===== ===== Configurer un projet =====
 dans le fichier ''​.env''​ modifier la valeur ''​DATABASE_URL''​ dans le fichier ''​.env''​ modifier la valeur ''​DATABASE_URL''​
-<code yml Fichier .env>+<note tip>On peut aussi mettre la configuration dans le fichier ''​.env.local''​.\\  
 +Fichier qui ne sera pas commité par GIT</​note>​ 
 +<code yml Fichier .env ou .env.local>
 DATABASE_URL=mysql://​User:​Password@192.168.1.103:​3306/​Database_Name DATABASE_URL=mysql://​User:​Password@192.168.1.103:​3306/​Database_Name
 </​code>​ </​code>​
 <​note>​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 ???</​note>​ <​note>​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 ???</​note>​
-===== Test : Creation ​de la base de donnée =====+===== Base de donnée ===== 
 +==== Si la base de données est déjà existante ==== 
 + 
 +On teste si on a accès a la base de donnée ​en exécutant une petite requête SQL 
 + 
 +''​symfony console doctrine:​query:​sql "SHOW TABLES"''​ par exemple... 
 +<​code>​ 
 +>symfony console doctrine:​query:​sql "SHOW TABLES" ​           
 + 
 + [OK] 0 rows affected. 
 +</​code>​ 
 +Si on a pas d'​erreur c'est que tout fonctionne bien ! 
 + 
 +==== Création de la base de donnée ​==== 
 Création de la base de donnée avec ''​ console doctrine:​database:​create''​ Création de la base de donnée avec ''​ console doctrine:​database:​create''​
 <code php> <code php>
Ligne 20: Ligne 40:
 {{:​prog:​symfony:​hsql.png|}} {{:​prog:​symfony:​hsql.png|}}
  
-===== Supprimer la base de données ​=====+==== Supprimer la base de données ====
 Supprimer la base de donnée liée au projet avec la commande ''​console doctrine:​database:​drop --force''​ Supprimer la base de donnée liée au projet avec la commande ''​console doctrine:​database:​drop --force''​
  
Ligne 28: Ligne 48:
 Dropped database `test_api_project` for connection named default Dropped database `test_api_project` for connection named default
 </​code>​ </​code>​
-===== Mettre ​jour les tables suite la modification d'une Entity ​=====+===== Tables ===== 
 +==== Mettre ​à jour (ALTER) ​les tables suite à la modification d'une Entity ​sans perte de données ​====
 Grâce à la commande ''​console doctrine:​schema:​update''​. Grâce à la commande ''​console doctrine:​schema:​update''​.