Como criar e usar o Database Seeder no Laravel

Este tutorial mostrará como criar seeders de banco de dados no Laravel, um popular framework PHP. Os seeders de banco de dados são uma ferramenta poderosa para ajudar a preencher seu banco de dados com dados de teste, facilitando o teste de seu aplicativo e acelerando o desenvolvimento. Vamos guiá-lo pelo processo de criação de um seeder, adicionando dados a ele e, em seguida, usando-o para preencher seu banco de dados. Ao final do tutorial, você terá conhecimento para usar seeders de banco de dados em seus próprios projetos Laravel, tornando o desenvolvimento mais rápido e eficiente.

Laravel 10 Database Seeder Exemplo de Tutorial

Instalar Projeto Laravel

Eventualmente, para mostrar a demonstração do semeador de banco de dados em laravel, precisamos instalar um novo projeto laravel desde o início. Se quiser, pode pular esta etapa, mas somente se já tiver instalado o aplicativo.

composer create-project --prefer-dist laravel/laravel laravel-10-seeder

Estabelecer conexão com o banco de dados

Configure o banco de dados com seu aplicativo laravel baixado/instalado. Portanto, você precisa encontrar o arquivo .env e configurar os detalhes do banco de dados da seguinte maneira:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=database-name
DB_USERNAME=database-user-name
DB_PASSWORD=database-password

Criar Seeder no Laravel

Use o seguinte comando para criar uma semeadora:

php artisan make:seeder UserSeeder

Depois de executar o comando acima, ele criará um arquivo  UserSeeder.php na pasta seed. As classes iniciais são armazenadas no database/seedersdiretório.

<?php

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 doe',
            'email' => 'john@gmail.com',
            'mobile' => '1234567890',
            'password' => Hash::make('john')
        ]);
    }
}

Tenha em mente que esta é a etapa usual, mas fundamental, e precisa ser seguida toda vez que você criar um novo seeder ou para chamar vários seeders de banco de dados.

/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
    $this->call([
        UserSeeder::class,
    ]);
}

No Laravel, você pode usar a --classopção com o db:seedcomando para propagar especificamente uma classe seeder específica em vez da DatabaseSeederclasse padrão. Isso é útil quando você deseja propagar apenas um determinado conjunto de dados.

Por exemplo, se você tiver uma classe seeder chamada YourSeederClass, poderá executar o seguinte comando para propagar apenas essa classe:

php artisan db:seed --class=YourSeederClass

Além disso, você pode usar o migrate:fresh --seedcomando para descartar todas as tabelas e executar novamente todas as migrações antes de propagar o banco de dados. Este comando é útil quando você deseja reconstruir completamente seu banco de dados com dados novos. No entanto, deve ser usado com cautela, pois excluirá todos os dados existentes no banco de dados.

se você deseja executar todos os seeders ao mesmo tempo, execute o seguinte comando:

php artisan db:seed

Em conclusão, o recurso de propagação de banco de dados do Laravel é uma ferramenta poderosa que permite aos desenvolvedores preencher o banco de dados de seus aplicativos com dados fictícios para fins de teste ou demonstração. Com as classes Seeder e Model Factories integradas do Laravel, é fácil gerar dados de teste e preencher seu banco de dados com eles. Além disso, existem pacotes de terceiros disponíveis que oferecem recursos de geração de dados mais avançados.

1.65 GEEK