问题标签 [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.
php - Laravel Seeder 的 Faker
我有一个表users
与一个名为videos
. 我想在不丢失数据完整性的情况下播种这两个表。这就是我在下面所做的:
所以现在我要做的就是创建一个VideoTableSeeder
并运行我想要的数量。我觉得我处理它的方式不够好,所以我想知道有什么更好的方法可以做到。特别是,我希望视频不仅仅是用户,而不是相同的数量,在我所做的那个中,它们的数量都是相同的。
php - 如何运行 laravel 迁移和数据库播种器,除了一个
我有许多迁移和播种器文件要运行,虽然我需要运行所有文件,但目前我需要跳过一个迁移和播种器。
我如何从 laravel 迁移和 db seeder 命令中跳过一个文件。
我不想从迁移或种子文件夹中删除文件以跳过该文件。
laravel - Faker 的结束日期大于开始日期
我们在 Laravel 应用中使用 Faker。对于一个表,我们有 2 列,start date
并且end date
. end date
如何以永远大于的方式调用fakerstart date
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 文件。
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
和$end
variable总是相同的。
laravel-5 - laravel 模型工厂种子从现有生成
我正在尝试使用外键为表播种,但我一直坚持如何告诉模型从已经存在的数据中随机提取值。
模型工厂
种子
供应商TableSeeder
DeviceTableSeeder
数据播种机
我在设备表之前播种供应商表,并希望从现有供应商中填充随机供应商 ID。
但我越来越
看起来插入试图factory::App\Vendor
作为供应商列的字符串插入。我试图弄清楚如何从现有的供应商那里获得它。
database - 如何使用 laravel 迁移和种子正确处理数据库数据更改
我有我的迁移文件,它为数据库创建初始架构,我有我的种子文件,它使用随机数据和设置类型填充初始架构。
我对迁移和种子的理解是,每当有新团队成员加入时,他都可以运行它们并跟上所有数据库更改和产品工作所需的数据,此外,您可以将更改应用于 stg 和通过运行迁移文件来生产。
但是,随着我的项目的推进,新类型的数据已经出现,应用它们的唯一方法是创建一个将插入到数据库中的迁移。
我遇到的问题是工匠使用迁移和种子的方式是它首先运行所有迁移,然后运行所有种子,我似乎没有办法指定它们的顺序应该运行。所以,如果我运行migrate:refresh --seed我会出错,因为它应用了最新的迁移,它会在种子插入他自己的数据之前插入新数据(可能会也可能不会,取决于种子中插入的类型) .
我们尝试的一种解决方案是更新种子,并在应用插入数据的迁移更改之前进行检查,但这变得非常难以维护。
在这种情况下,迁移和种子的预期用途是什么?
更新 为了更清楚地说明:假设我有一个创建用户的迁移: 用户:{id,name,type} 我有我的种子来创建用户。
我运行两者,并且我有一个包含一堆用户的用户表。
时间流逝,我们决定需要一个 user_types 表。创建了一个迁移,它将创建新表,并填充新用户类型的数据并更新以匹配当前 user.type 到 user.type_id。
开发人员运行迁移,他们的数据库都是最新的。
一个新的开发者加入了团队。他负责迁移。然后是种子。它打破了。
现在,如果我们更新种子以匹配最新的,我们将遇到 user_types 表的重复数据。为了避免这种情况,我们需要在迁移中加入某种防御性代码,以便在没有数据时不运行任何东西,如果有则更新。
问题是,这是使用迁移的正确方法吗?您如何将数据更改推送给所有开发人员,而无需重新运行种子?
php - Laravel 模型工厂使用 created_at 和 updated_at 制作方法
因此,我在使用 laravel 种子时遇到了这篇关于如何加速种子的惊人文章。
http://bensmith.io/speeding-up-laravel-seeders
我已经测试过这种方法,是的,我的大多数种子的种子时间已经下降到一半。
还描述了我面临的唯一问题是make()
工厂上的方法没有生成时间戳,我的一些测试现在开始抱怨。
与其修改我所有的种子以手动使它们成为种子时间戳,有没有办法可以强制make()
工厂的方法为我做这件事?
示例种子
所以我可以选择放
在种子和所有其他人中,但有没有更好的方法来覆盖该make
方法?
php - 包中的 Laravel 5.2 数据库种子?
我正在创建一个包并希望在其中包含 db 种子。所有这些种子都会将一些新行添加到已经存在的表中。我还想要一个“取消种子”选项来在卸载包时删除这些行。
我不确定该怎么做?什么是最佳实践?
谢谢
php - Laravel 5.2:无法找到具有名称的工厂 [默认]
我想在使用它时播种数据库
在数据库中添加三个用户但是当我使用它时
显示错误
[InvalidArgumentException]
无法找到名称为 [default] [app\Comment] 的工厂。