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:54]
thierry [Mettre a jour les tables suite a la modification d'une Entity]
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>​
 ===== 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 ====
  
Ligne 30: Ligne 48:
 Dropped database `test_api_project` for connection named default Dropped database `test_api_project` for connection named default
 </​code>​ </​code>​
-==== Tables ==== +===== Tables ​===== 
-==== Mettre ​jour les tables suite la modification d'une Entity ====+==== 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''​.