【问题标题】:When and how do you use Laravel Factory and Seeding何时以及如何使用 Laravel Factory 和 Seeding
【发布时间】:2020-08-13 13:30:34
【问题描述】:

我对使用它们感到困惑,所以想确保我正确使用它们并了解是否还有其他用例”。这是我的用例:

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'));

【问题讨论】:

  • 生产播种只能在初始设置时进行。在问题中,您提到了 3 种不同的情况。像这样的单元测试也应该在测试环境中。无需在功能上测试应用程序,如果它不起作用就不要部署。第 2 点很好,使用 migrate 命令很好。 3. 就像我说的,使用播种机进行应用程序的初始安装。

标签: database laravel testing seed faker


【解决方案1】:

您概述的三个场景都是很好的用例。

基本上,您可以使用工厂来生成您想要用于播种的任何数据。您还可以利用工厂状态和事件在多个模型之间生成复杂的关系。

如果您真的愿意,从技术上讲,没有什么可以阻止您使用工厂生成生产数据,只是您不会在任何官方文档中看到。

我之前亲自使用它来填充生产环境中新迁移的表的初始值(当然事先在我的本地环境中经过测试!)

【讨论】:

    猜你喜欢
    • 2021-03-17
    • 2021-03-18
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 2018-01-29
    • 2023-03-28
    相关资源
    最近更新 更多