Index de l'article

Base de données et entités

Installer Doctrine

Nous allons d'abord utiliser l'ORM Doctrine.

composer require symfony/orm-pack
composer require symfony/maker-bundle --dev

Créer la base de données

Dans le fichier .env, personnaliser la ligne DATABASE_URL de cette façon par exemple (root est l'utilisateur de base de données, et les guillemets sont le mot de passe vide) :

DATABASE_URL=mysql://root:''@127.0.0.1:3306/ma_jolie_base

Puis :

php bin/console doctrine:database:create

Qui aura pour effet de créer la base de données dans MySQL.

Créer une 1ère entité

php bin/console make:entity

Puis remplir les informations demandées (nom du 1er champ, taille, nullable). Ne créez pas de champ ID, en effet il sera automatiquement créé.

La classe de l'entité est le nom de la table. Les propriétés de l'entité sont ses champs.

Tapez une nouvelle fois Enter quand vous avez fini. Symfony a généré un joli fichier du nom de votre entité dans le répertoire src/Entity, avec les getters et setters...

Mais la table correspondant n'est pas encore créée. Pour cela :

php bin/console make:migration

Puis :

php bin/console doctrine:migrations:migrate

Confirmez la création, et allez voir en BDD. Une jolie table est née  !

À tous moment vous pouvez ajouter des champs dans votre entité, avec les mêmes commandes, en précisant l'exact même nom de classe. Symfony reconnaîtra votre table et y ajoutera les champs.