Seeders
Popular dados usando arquivos de seeder carregados pelo CLI.
Localização e criação
Seeders da aplicação ficam em database/seeds/. O comando gerador é php mvc make:seed UserSeeder; implemente as operações no seeder gerado, respeitando o schema/mass assignment dos Models.
Executar
php mvc seed:run
php mvc seed:run UserSeederO CLI aceita executar os seeders disponíveis ou um nome específico. A estrutura de exemplo inclui database/seeds/UserSeeder.php.
Como o runner encontra seeders
`php mvc seed:run` procura arquivos `*Seeder.php` em database/seeds, ordena os nomes e os executa com require. Para rodar um só, passe o nome com ou sem o sufixo Seeder. Não existe uma interface/ORM de seeder no núcleo; o arquivo contém PHP executável.
php mvc seed:run
php mvc seed:run UserSeederO UserSeeder incluído verifica se cada e-mail já existe e ignora o registro duplicado, então é repetível para essas duas contas demo. Essa característica é específica do arquivo: não assuma que todo seeder futuro será idempotente. O exemplo também contém senhas padrão de demonstração; altere/remova antes de publicar ou expor um ambiente.
Seeder de demonstração entregue
database/seeds/UserSeeder.php é um arquivo PHP procedural executado pelo CLI; não existe uma classe base Seeder obrigatória. Ele carrega o ambiente, conecta ao MySQL, evita inserir e-mails já presentes e grava duas contas demo usando bcrypt cost 12. As credenciais são somente demonstração e devem ser alteradas/removidas antes de expor um ambiente.
php mvc seed:run UserSeeder seleciona pelo nome; sem nome, o comando percorre todos os arquivos *Seeder.php em ordem natural. Como seeder é código PHP executável, revise o arquivo antes de executar. Consulte Database/PDO para acesso direto e CLI para opções.
Seeder usa PHP/PDO direto e não passa pelo Model
O comando de seed inclui o arquivo PHP no processo CLI; os stubs e seeders existentes fazem consultas preparadas diretamente, sem instanciar Model. Isso significa que $fillable, casts e regras do Model não são aplicados. O autor deve escolher colunas explicitamente, validar valores, tratar hashes, timestamps e duplicidade e usar prepared statements.
O UserSeeder distribuído define constantes de paths incondicionalmente. Ao executá-lo via seed:run, ele é incluído no mesmo processo que já iniciou o Kernel e pode gerar aviso de constantes já definidas. Essa execução via CLI difere de abrir o arquivo isoladamente com php database/seeds/UserSeeder.php; prefira o comando suportado e não copie o padrão de bootstrap com defines duplicados para novos seeders.