Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Como criar um Seeder em um arquivo separado?

Para criar um Seeder, foi dito no curso para criarmos uma classe no mesmo arquivo que DatabaseSeeder, mas que também poderíamos criá-lo num arquivo separado.

Criei minha classe de Seeder num arquivo separado (em database/seeds, no mesmo caminho que DatabaseSeeder) e tentei rodar o db:seed, mas ele não encontrou minha classe.

O que mais preciso fazer?

4 respostas
solução!

Oi Carlos, tudo bem? Você pode sim criar seeders em arquivos diferentes, mas o fluxo muda um pouco. No caso de voce querer rodar apenas o seeder separado, você pode usar o comando:

php artisan db:seed --class=UsersTableSeeder

Mudando o nome da classe, é claro :)

Mas caso queira executar o seu seeder separado dentro do DataBaseSeeder. O caminho é outro. Você precisa delegar a chamada pro seu arquivo seeder separado da seguinte forma:

public function run()
{
    $this->call(UsersTableSeeder::class);
}

Lembrando que isso vai dentro do DatabaseSeeder. Deixo o link da documentação aqui para mais detalhes: https://laravel.com/docs/5.3/seeding

Não consegui testar novamente, mas vou marcar como solução para não deixar o tópico aberto.

Obrigado, Wanderson!

Oi Carlos, não marque como resolvido, sem que o tópico tenha sido realmente resolvido. Exponha suas dúvidas e problemas.

Não funcionou? Teve algum erro?

Eu ainda não tive tempo de testar, e não devo ter tão cedo, por isso fechei. Caso eu tenha algum problema, abro uma nova dúvida.