Seeders
Initialiser rapidement des données essentielles ou de développement dans la base de données avec les seeders de Swell.
Les seeders dans Swell
Les seeders permettent d’ajouter automatiquement des données essentielles ou de test dans la base de données. Swell propose plusieurs seeders pour faciliter l’installation, le développement et les tests de votre application.
Initialiser les rôles avec le RoleSeeder
Le RoleSeeder
permet d’ajouter automatiquement les rôles essentiels à la base de données lors de l’installation ou du développement de l’application.
Swell s’appuie sur le package spatie/laravel-permission pour la gestion des rôles et permissions. Ce package robuste facilite la création, l’attribution et la gestion des rôles dans Laravel.
Pourquoi utiliser un seeder de rôles ?
- Gain de temps : plus besoin de créer manuellement les rôles à chaque nouvelle installation.
- Cohérence : tous les environnements disposent des mêmes rôles de base.
- Automatisation : facilite les déploiements et les tests.
Utilise le RoleSeeder pour t’assurer que les rôles comme admin
, customer
ou visitor
existent toujours dans la base de données. Ces rôles sont créés via le package spatie/laravel-permission.
Exemple d’exécution
Pour initialiser les rôles de base, il suffit d’exécuter la commande suivante :
php artisan db:seed --class=RoleSeeder
# Pour repartir d’une base de données vierge :
php artisan migrate:fresh --seed --seeder=RoleSeeder
Après exécution, les rôles suivants seront créés :
admin
: accès complet aux pages Admin.customer
: regroupe les utilisateurs ayant passé commande.visitor
: utilisateur de base, n'ayant pas encore passé commande.
Bon à savoir
Adapter le contenu du RoleSeeder selon les besoins spécifiques de ton application.
Pour plus d'info sur la gestion des permissions, voir la documentation de spatie/laravel-permission
Initialiser des données de développement avec le LocalSeeder
Le LocalSeeder
est conçu pour faciliter le développement local en injectant des données de test dans la base de données : utilisateurs, produits, catégories, etc. Il permet de simuler un environnement réaliste sans avoir à créer manuellement chaque entrée.
Exemple d’exécution
php artisan db:seed --class=LocalSeeder
# Pour repartir d’une base de données vierge :
php artisan migrate:fresh --seed --seeder=LocalSeeder
Ce seeder va créer un ensemble de données variées pour que vous puissiez tester l’application dans des conditions proches de la production.
Le LocalSeeder
est à utiliser uniquement en environnement de développement.
Générer des produits de test avec le LocalProductSeeder
Le LocalProductSeeder
permet de générer rapidement un catalogue de produits fictifs pour tester les fonctionnalités e-commerce de Swell (listing, recherche, panier, etc.).
Exemple d’exécution
php artisan db:seed --class=LocalProductSeeder
# Pour repartir d’une base de données vierge :
php artisan migrate:fresh --seed --seeder=LocalProductSeeder
Après exécution, plusieurs produits de test seront disponibles dans la boutique, avec des prix, stocks et descriptions variés.
Le LocalProductSeeder
, appelé par le LocalSeeder
, centralise la génération de produits de test réalistes pour simuler un vrai catalogue sans alourdir le LocalSeeder
.
Conseils et bonnes pratiques
- Exécutez les seeders adaptés à votre environnement :
RoleSeeder
pour la base etLocalSeeder
pour le développement. - N’utilisez jamais les seeders de développement (
LocalSeeder
) en production. - Personnalisez le contenu des seeders selon les besoins spécifiques de votre projet.
Pour aller plus loin, consultez la documentation Laravel sur les seeders : https://laravel.com/docs/seeding