您何时以及如何使用 Laravel Factory 和 Seeding
When and how do you use Laravel Factory and Seeding
我对使用它们感到困惑,所以想确保我正确使用它们并了解是否还有其他用例。这是我的用例:
1- 在单元测试中
public function test_index_returns_view()
{
...
$streets = factory(Street::class, 10)->make();
...
}
2- 当我开发一个新的应用程序时,运行 播种者喜欢这样来 puplate DB
php artisan migrate:fresh --seed
3- 为了在生产中插入一些记录,将类似这样的东西放在迁移中
Artisan::call('db:seed', array('--class' => 'YourSeederClass'));
您概述的三个场景都是很好的用例。
本质上,您可以使用工厂来生成您想要播种的任何数据。您还可以利用工厂状态和事件来生成多个模型之间的复杂关系。
如果您真的愿意,从技术上讲没有什么可以阻止您使用工厂生成生产数据,只是您不会在任何官方文档中看到它。
我之前亲自使用过它来填充生产环境中新迁移的表的初始值(当然事先在我的本地环境中进行了全面测试!)
我对使用它们感到困惑,所以想确保我正确使用它们并了解是否还有其他用例。这是我的用例:
1- 在单元测试中
public function test_index_returns_view()
{
...
$streets = factory(Street::class, 10)->make();
...
}
2- 当我开发一个新的应用程序时,运行 播种者喜欢这样来 puplate DB
php artisan migrate:fresh --seed
3- 为了在生产中插入一些记录,将类似这样的东西放在迁移中
Artisan::call('db:seed', array('--class' => 'YourSeederClass'));
您概述的三个场景都是很好的用例。
本质上,您可以使用工厂来生成您想要播种的任何数据。您还可以利用工厂状态和事件来生成多个模型之间的复杂关系。
如果您真的愿意,从技术上讲没有什么可以阻止您使用工厂生成生产数据,只是您不会在任何官方文档中看到它。
我之前亲自使用过它来填充生产环境中新迁移的表的初始值(当然事先在我的本地环境中进行了全面测试!)