7

我一直在使用带有路径参数的 Laravel 迁移,如下所示:

Artisan::call('migrate', array('--path' => 'path/to/my/Migrations'));

无论如何我可以以相同的方式运行种子命令吗?我有许多想要使用的种子文件,但我不想同时运行它们。

任何建议表示赞赏。

谢谢

4

3 回答 3

19

代替 --path 您可以将 --class 与命名空间设置为 Seeder 类。

Artisan::call('db:seed', [
    '--class' => 'Namespace\Seeds\DatabaseSeeder'
]);

这适用于 Laravel 5.1

于 2016-01-11T16:16:28.340 回答
2

要刷新迁移并为数据库播种,这对我有用:

// 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);
于 2014-08-16T07:01:56.153 回答
1

只播种

Artisan::call('db:seed');

在指定路径下重新运行所有迁移并运行种子

Artisan::call('migrate:refresh', array('--path' => 'path/to/my/Migrations', '--seed'));
于 2013-07-17T13:43:51.023 回答