我一直在使用带有路径参数的 Laravel 迁移,如下所示:
Artisan::call('migrate', array('--path' => 'path/to/my/Migrations'));
无论如何我可以以相同的方式运行种子命令吗?我有许多想要使用的种子文件,但我不想同时运行它们。
任何建议表示赞赏。
谢谢
代替 --path 您可以将 --class 与命名空间设置为 Seeder 类。
Artisan::call('db:seed', [
'--class' => 'Namespace\Seeds\DatabaseSeeder'
]);
这适用于 Laravel 5.1
要刷新迁移并为数据库播种,这对我有用:
// Roll back all migrations and migrate them again
Artisan::call('migrate:refresh');
// Fill tables with seeds
Artisan::call('db:seed');
我有很多种子,服务器很慢。在这种情况下,它有助于延长最大执行时间。
// Extend maximum execution time to 3 minutes
set_time_limit(180);
Artisan::call('migrate:refresh');
Artisan::call('db:seed');
// Back to the default
set_time_limit(30);
只播种
Artisan::call('db:seed');
在指定路径下重新运行所有迁移并运行种子
Artisan::call('migrate:refresh', array('--path' => 'path/to/my/Migrations', '--seed'));