从代码路径播种数据库?

时间:2013-07-17 13:37:57

标签: laravel laravel-4 seeding

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

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

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

任何建议表示赞赏。

由于

3 个答案:

答案 0 :(得分:14)

您可以将--class with namespace设置为Seeder类而不是--path。

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

这篇关于Laravel 5.1的工作

答案 1 :(得分:1)

仅播种

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

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

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

答案 2 :(得分: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);