Laravel et Backpack - 2ᵉ Partie
Qu'est-ce que les migrations ?
Les migrations
Avant de faire une migration dans Laravel, il y a plusieurs prérequis à prendre en compte. En effet, dans l'article précédant, nous avons :
- Installer Laravel : Vous devez avoir installé Laravel sur votre système et avoir configuré votre application Laravel avec les informations de connexion à la base de données.
- Configurer la base de données : Vous devez configurer votre base de données dans le fichier
.env
ou dans le fichierconfig/database.php
de votre application Laravel. Vous devez également vous assurer que vous avez les permissions nécessaires pour créer, modifier et supprimer des tables dans la base de données. - Créer des modèles : Nous avons créé deux modèles : celui des employés et le modèle des titres d'emploi.
- Créer des fichiers de migrations : Ensuite, nous avons créé les migrations correspondantes pour décrire les modifications à apporter à la base de données.
En somme, la migration dans Laravel est un outil qui permet de gérer les modifications de la structure de la base de données de manière simple et efficace. Les migrations sont des fichiers de code PHP qui décrivent les modifications à apporter à la base de données.
Les conventions de nommage des migrations
Les fichiers de migration dans Laravel portent des noms avec l'heure et la date :
- Ordre d'exécution : Les fichiers de migration sont exécutés dans l'ordre alphabétique, donc en préfixant le nom du fichier avec la date et l'heure, Laravel peut garantir que les migrations sont exécutées dans l'ordre chronologique.
- Historique : Les fichiers de migration sont un historique de toutes les modifications apportées à la base de données. En ajoutant l'heure et la date au nom du fichier, il est plus facile de retracer quand une migration a été exécutée et quelles modifications ont été apportées à la base de données.
- Éviter les conflits de noms : En ajoutant l'heure et la date au nom du fichier, il est moins probable que des conflits de noms se produisent entre les fichiers de migration, ce qui facilite la gestion et la collaboration entre les développeurs.
En somme, le nom de fichier avec l'heure et la date est une convention de nommage courante dans Laravel qui facilite la gestion des migrations et l'historique des modifications apportées à la base de données.
Par exemple, les fichiers de migrations pour ce tutoriel sont :
2014_10_12_000000_create_users_table.php
2014_10_12_100000_create_password_reset_tokens_table.php
2019_08_19_000000_create_failed_jobs_table.php
2019_12_14_000001_create_personal_access_tokens_table.php
2023_04_09_173926_create_titres_table.php
2023_04_09_173931_create_employes_table.php
Les noms des fichiers de migration pour les modèles Titres et Employés reflèteront les dates et heures de créations de vos fichiers.
Les commandes de migration
Pour effectuer une migration dans Laravel, vous pouvez utiliser la commande :
php artisan migrate
Cette commande exécute toutes les migrations en attente qui n'ont pas encore été exécutées dans votre application. Le résultat de cette migration produit :
Maintenant, si vous utilisez un gestionnaire de base de données tel que phpMyAdmin :
Les autres commandes de migration
Il est également possible d'exécuter une migration spécifique en utilisant la commande :
php artisan migrate --path=/database/migrations/nom_du_fichier_migration.php
Cette commande exécutera uniquement la migration spécifiée par le chemin du fichier.
Enfin, pour annuler la dernière migration exécutée, vous pouvez utiliser la commande :
php artisan migrate:rollback
Cette commande annule la dernière migration exécutée dans votre application. Si vous voulez annuler plusieurs migrations, vous pouvez utiliser la commande php artisan migrate:rollback --step=N
, où N
est le nombre de migrations que vous voulez annuler.
Il est important de noter que la commande php artisan migrate
doit être exécutée après chaque modification apportée à une migration pour que la base de données soit à jour avec la structure de la migration.
Prochain article
Le prochain article couvrira les opérations de base ("CRUD") qui permettent de manipuler les données dans une application.