Ceci est une ancienne révision du document !
Symfony et les Databases
Sources à jour
Prérequis
Il faut que l'ORM soit installé, sinon →symfony composer req orm
In PDOConnection.php : could not find driver
Configurer un projet
dans le fichier .env
modifier la valeur DATABASE_URL
.env.local
.Fichier qui ne sera pas commité par GIT
- Fichier .env ou .env.local
DATABASE_URL=mysql://User:Password@192.168.1.103:3306/Database_Name
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…
>symfony console doctrine:query:sql "SHOW TABLES" [OK] 0 rows affected.
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
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
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
.
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