问题标签 [laravel-seeding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
914 浏览

php - Laravel Seeder 的 Faker

我有一个表users与一个名为videos. 我想在不丢失数据完整性的情况下播种这两个表。这就是我在下面所做的:

所以现在我要做的就是创建一个VideoTableSeeder并运行我想要的数量。我觉得我处理它的方式不够好,所以我想知道有什么更好的方法可以做到。特别是,我希望视频不仅仅是用户,而不是相同的数量,在我所做的那个中,它们的数量都是相同的。

0 投票
6 回答
9624 浏览

php - 如何运行 laravel 迁移和数据库播种器,除了一个

我有许多迁移和播种器文件要运行,虽然我需要运行所有文件,但目前我需要跳过一个迁移和播种器。

我如何从 laravel 迁移和 db seeder 命令中跳过一个文件。

我不想从迁移或种子文件夹中删除文件以跳过该文件。

0 投票
3 回答
6733 浏览

laravel - Faker 的结束日期大于开始日期

我们在 Laravel 应用中使用 Faker。对于一个表,我们有 2 列,start date并且end date. end date如何以永远大于的方式调用fakerstart date

0 投票
0 回答
691 浏览

php - Laravel 5 - 使用 php artisan db:seed 时不播种表,但使用 php artisan db:seed --class 时工作正常

我进入php artisan db:seed但它跳过播种 CountryRetailerSeeder。

当我手动进行时,它会播种。

php artisan db:seed --class=CountriesRetailerSeeder

我将如何php artisan db:seed与其他播种机一起运行它?

这是我的CountryRetailerSeeder中的代码

不要认为所有这 2000 行数据都来自csv 文件

0 投票
3 回答
304 浏览

laravel - Laravel Carbon 日期未在 Seeder 中修改

在 Laravel Seeder 中,我试图获取一个Faker生成的日期,将其转换为 Carbon,然后获取两个相隔仅几个小时的日期来表示一个 4 小时的会话。例如, Start Date: 03/13/2016 12:00PM
End Date: 03/13/2016 5:00PM

下面是我登陆的内容,但是 the$start$endvariable总是相同的。

0 投票
3 回答
4724 浏览

laravel-5 - laravel 模型工厂种子从现有生成

我正在尝试使用外键为表播种,但我一直坚持如何告诉模型从已经存在的数据中随机提取值。

模型工厂

种子

供应商TableSeeder

DeviceTableSeeder

数据播种机

我在设备表之前播种供应商表,并希望从现有供应商中填充随机供应商 ID。

但我越来越

看起来插入试图factory::App\Vendor作为供应商列的字符串插入。我试图弄清楚如何从现有的供应商那里获得它。

0 投票
2 回答
1731 浏览

database - 如何使用 laravel 迁移和种子正确处理数据库数据更改

我有我的迁移文件,它为数据库创建初始架构,我有我的种子文件,它使用随机数据和设置类型填充初始架构。

我对迁移和种子的理解是,每当有新团队成员加入时,他都可以运行它们并跟上所有数据库更改和产品工作所需的数据,此外,您可以将更改应用于 stg 和通过运行迁移文件来生产。

但是,随着我的项目的推进,新类型的数据已经出现,应用它们的唯一方法是创建一个将插入到数据库中的迁移。

我遇到的问题是工匠使用迁移和种子的方式是它首先运行所有迁移,然后运行所有种子,我似乎没有办法指定它们的顺序应该运行。所以,如果我运行migrate:refresh --seed我会出错,因为它应用了最新的迁移,它会在种子插入他自己的数据之前插入新数据(可能会也可能不会,取决于种子中插入的类型) .

我们尝试的一种解决方案是更新种子,并在应用插入数据的迁移更改之前进行检查,但这变得非常难以维护。

在这种情况下,迁移和种子的预期用途是什么?

更新 为了更清楚地说明:假设我有一个创建用户的迁移: 用户:{id,name,type} 我有我的种子来创建用户。

我运行两者,并且我有一个包含一堆用户的用户表。

时间流逝,我们决定需要一个 user_types 表。创建了一个迁移,它将创建新表,并填充新用户类型的数据并更新以匹配当前 user.type 到 user.type_id。

开发人员运行迁移,他们的数据库都是最新的。

一个新的开发者加入了团队。他负责迁移。然后是种子。它打破了。

现在,如果我们更新种子以匹配最新的,我们将遇到 user_types 表的重复数据。为了避免这种情况,我们需要在迁移中加入某种防御性代码,以便在没有数据时不运行任何东西,如果有则更新。

问题是,这是使用迁移的正确方法吗?您如何将数据更改推送给所有开发人员,而无需重新运行种子?

0 投票
0 回答
1784 浏览

php - Laravel 模型工厂使用 created_at 和 updated_at 制作方法

因此,我在使用 laravel 种子时遇到了这篇关于如何加速种子的惊人文章。

http://bensmith.io/speeding-up-laravel-seeders

我已经测试过这种方法,是的,我的大多数种子的种子时间已经下降到一半。

还描述了我面临的唯一问题是make()工厂上的方法没有生成时间戳,我的一些测试现在开始抱怨。

与其修改我所有的种子以手动使它们成为种子时间戳,有没有办法可以强制make()工厂的方法为我做这件事?

示例种子

所以我可以选择放

在种子和所有其他人中,但有没有更好的方法来覆盖该make方法?

0 投票
1 回答
1712 浏览

php - 包中的 Laravel 5.2 数据库种子?

我正在创建一个包并希望在其中包含 db 种子。所有这些种子都会将一些新行添加到已经存在的表中。我还想要一个“取消种子”选项来在卸载包时删除这些行。

我不确定该怎么做?什么是最佳实践?

谢谢

0 投票
15 回答
73338 浏览

php - Laravel 5.2:无法找到具有名称的工厂 [默认]

我想在使用它时播种数据库

在数据库中添加三个用户但是当我使用它时

显示错误

[InvalidArgumentException]
无法找到名称为 [default] [app\Comment] 的工厂。