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.
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
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
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.