Articles

Semoir de base de données Laravel

Laravel présente des semoirs pour créer des données de test, utiles pour vérifier le projet, avec un utilisateur administrateur et des données préalablesdefiterminé dans la base de données.

Chaque fois que vous avez un projet d'administration qui n'a pas de page d'inscription, qu'allez-vous faire ? Je veux dire, vous devez créer au moins un utilisateur administrateur. Donc, fondamentalement, il peut se connecter et accéder à l'ensemble du panneau d'administration. Mais vous n'avez pas la page d'inscription sur le front-end. vous n'avez que la page de connexion. Alors pouvez-vous créer un utilisateur admin directement à partir de la base de données ? Si oui, vous devez toujours créer un nouvel utilisateur admin à partir de la base de données directement lorsque vous créez une nouvelle configuration de votre projet. Mais je vous suggérerai de créer un semoir administrateur afin que vous puissiez créer un utilisateur administrateur en utilisant le semoir laravel 8. Il suffit de tirer sur commande pour exécuter le semoir dans laravel 8.

Mêmes choses, si vous avez une configuration de pré-réglagesdefinite, vous pouvez créer un seeder de paramètres et ajouter la pré configurationdefinié à la table de la base de données.

Qu'est-ce que Database Seeder à Laravel

Laravel fournit une méthode simple pour ensemencer des données de test dans une base de données à l'aide de classes de semences. Vous pouvez ensemencer votre base de données dans Laravel pour ajouter de fausses données dans votre base de données à des fins de test.

Exemple de Seeder de base de données à Laravel

Nous créons d'abord un seeder avec la commande suivante :

php artisan make:seeder UserSeeder

Après avoir exécuté la commande, nous aurons un fichier UserSeeder.php dans le dossier seeds. Les classes seed sont stockés dans le répertoire database/seeders.

namespace Database\Seeders;
 
use App\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
 
class UserSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        User::create([
            'name' => 'John Jackson',
            'email' => 'john@jackson.com',
            'mobile' => '123456789',
            'password' => Hash::make('john@123')
        ]);
    }
}

Voyons maintenant comment nous pouvons appeler d'autres seeders. La méthode d'appel est utilisée pour exécuter des classes de départ supplémentaires dans la classe DatabaseSeeder. Il vous permet de diviser votre amorçage de base de données en plusieurs fichiers afin qu'aucune classe d'amorçage ne devienne trop grande. La méthode d'appel accepte un tableau de classes de départ qui doivent être exécutées.

Bulletin d'innovation
Ne manquez pas les nouvelles les plus importantes sur l'innovation. Inscrivez-vous pour les recevoir par email.
<?php
  
use Illuminate\Database\Seeder;
   
class DatabaseSeeder extends Seeder
{
    public function run()
    {
         $this->call([
         UserSeeder::class,
         PostSeeder::class,
     ]);
    }
}

Commande pour exécuter le seeder

php artisan db:seed

Commande pour exécuter un semoir individuellement

php artisan db:seed –class=UserSeeder

Vous pouvez également exécuter le seeding de la base de données à l'aide de la commande migrate:fresh en combinaison avec l'option –seed. Cette commande supprime toutes les tables, réexécute toutes les migrations et reconstruit la base de données.

php artisan migrate:fresh --seed

Ercole Palmeri

Vous pouvez également être intéressé par:

Bulletin d'innovation
Ne manquez pas les nouvelles les plus importantes sur l'innovation. Inscrivez-vous pour les recevoir par email.

Articles récents

Le régulateur antitrust britannique sonne l’alarme des BigTech concernant GenAI

La CMA britannique a émis un avertissement concernant le comportement des Big Tech sur le marché de l'intelligence artificielle. Là…

18 avril 2024

Casa Green : révolution énergétique pour un avenir durable en Italie

Le décret « Case Green », formulé par l'Union européenne pour améliorer l'efficacité énergétique des bâtiments, a conclu son processus législatif avec…

18 avril 2024

Ecommerce en Italie à +27% selon le nouveau rapport de Casaleggio Associati

Présentation du rapport annuel de Casaleggio Associati sur le commerce électronique en Italie. Rapport intitulé « AI-Commerce : les frontières du Ecommerce avec l’Intelligence Artificielle ».…

17 avril 2024

Idée géniale : Bandalux présente Airpure®, le rideau qui purifie l'air

Résultat d'une innovation technologique constante et d'un engagement envers l'environnement et le bien-être des personnes. Bandalux présente Airpure®, une tente…

12 avril 2024