问题标签 [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 回答
3509 浏览

php - 播种数据库 - [ErrorException] 试图获取非对象的属性

我正在使用"zizaco/confide": "~4.0@dev""zizaco/entrust": "1.2.*@dev"

我已经按照两个教程(confide migrations)中的描述设置了所有内容。此外,我创建了以下模型:

用户:

角色:

允许:

此外,我想在一开始就为我的数据库播种值,因此我为用户、角色和权限创建了几个播种器。但是,我的权限播种器出现错误:

用户表播种机:

RolesTableSeeder:

权限表播种器:

这是我在运行时遇到的错误db:seed

任何建议我在播种时做错了什么?

我很感激你的回答!

0 投票
0 回答
224 浏览

mysql - 在大型 MySQL 数据集中使用 Laravel 重新播种生产不良数据的成本高昂

我正在寻找一种更明智的方法来纠正大型种子数据库中的错误。解决方案是受欢迎的,他们是理智的(随意质疑工作的工具,即关系数据库)。我不能截断数据并重新设定所有值。尤其是当数据完整性发挥作用时。这需要足够健壮以应对开发人员错误,而无需进行整个重新播种来解决错误。对于我的种子数据集,迁移/MySQL/关系数据库似乎不够灵活。这就是我缺少知识的地方。

设想:

  • Laravel 项目,在迁移类中使用种子 (JSON),请参阅:[Laravel : Migrations & Seeding for production data][1]

    [1]: Laravel:生产数据的迁移和播种

    • MySQL 数据库 10k JSON 对象代表足球运动员,包含 10 个值,例如姓名、体重、身高、球队、出生日期。对象迭代,然后插入到带有 AI id 的数据库中。

问题:由于开发人员的错误,MySQL 'height' 列最初是 int 类型而不是 float,因此所有高度都四舍五入为 2m。

通过迁移,我将类型更改为浮动,现在所有高度值都需要通过重新设置来更改,因为它们仍然都是 2m(而不是 1.76)。我们需要考虑时间和成本,必须将数千个 JSON 对象重新植入 MySQL 以更改列上的值,同时保持数据完整性,因为来自 JSON 的对象在 MySQL 插入时被分配了它们的唯一 ID。

澄清一下:我从中播种了一些无 ID 的 JSON 对象。各个足球联赛有几个 JSON 文件,所以我以模块化方式播种这些文件,即当我插入新球员时。如果我需要进行更改,JSON 中的对象与数据库中的对象之间不存在完整性。我曾考虑过使用必须创建复合键的值,(?)但仍然感觉数据如此脆弱且容易出现开发人员错误,并且我需要一种理智地管理它的方法,我不觉得 Laravel 迁移/种子提供,特别是因为您只能根据时间戳值运行迁移(您不能指定回滚您运行的某个迁移文件较早)。如果存在的话,数据库的“源代码控制”也许是一个好主意。请注意,该帖子已标记为database-theorydata-integrity,我知道我可以重新播种,但这可能需要我工作日的几个小时。

干杯。

0 投票
2 回答
3426 浏览

php - Laravel 5 播种

我正在按照文档播种 users 表,该表显示正在使用 User::create

但它一直在说:

我想也许我需要为用户使用工匠制作:模型,但它已经存在。谁能指出我正确的方向我只是从 Laravel 开始并通过 Laracast 和文档将它拼凑在一起,但是没有 Laracast 播种 5.0。您现在似乎无法生成种子,因为工匠无法识别 generate:seed

0 投票
2 回答
2127 浏览

php - Laravel 5 数据库播种中的命名冲突

在运行我的数据库种子(以及其他控制台命令)时,我遇到了命名冲突。

我所有的模型都存储在app/Models目录中,并且在App\Models命名空间中。此目录中有一个名为Model.php扩展 laravel 基础模型的基础模型。

我的一些模型扩展了这个基类,例如

我的一些模型直接扩展了 eloquent 模型,例如

当我的应用程序通过 http 访问时,这工作正常,并且没有命名冲突。但是,当我尝试运行控制台命令时,例如db:seed,我收到以下错误:

我最初的猜测是 laravel 以某种方式编译种子文件,这导致了冲突。有没有人有任何想法,或者其他人已经遇到过这个问题?

0 投票
0 回答
1067 浏览

php - 在laravel中播种时对函数的异步guzzle调用

我正在尝试从 api 获取地理编码并在我的数据库中针对地址条目进行更新。我正在通过 laravel 中的种子类运行它。

正在使用 Guzzle 进行异步调用。我想异步运行 api 调用,同时我想在后台读取异步响应并在数据库中更新它们。

// 我在这里尝试回显和打印,脚本似乎没有在这个回调函数中进入这里 });

我在循环中调用上面的代码行。上面的脚本在我进行同步调用时运行良好,但在异步调用中我无法运行它?你能帮我吗?

脚本似乎没有进入回调函数

0 投票
3 回答
8715 浏览

php - Laravel:“php artisan db:seed”不起作用

我尝试在数据库中运行“ServiceTableSeeder”表,但收到错误消息。

我尝试运行“ php artisan db:seed

消息:

数据库播种机 .php

ServiceTableSeeder.php

如何解决这个问题。我是 laravel 的新手,请指导我。

0 投票
1 回答
541 浏览

laravel - artisan db:seed 不起作用并且不打印错误

我的播种机类代码如下:

当我尝试在 CLI 上使用以下命令对其进行播种时:

php工匠数据库:种子

没有任何错误发生。这可能有什么问题?我在Github上看到了类似的讨论,但没有找到解决方案。您的帮助将不胜感激。

0 投票
2 回答
9377 浏览

php - 当数据库被播种时,是否可以阻止 Laravel 运行模型事件?

Laravel 的播种器在我的模型上运行各种模型事件,这些事件会触发来自模型事件的新订单通知电子邮件等Product::saved()

这会显着减慢数据库播种速度。是否可以检测种子是否正在运行,如果是,告诉 Laravel 不要运行模型事件?

0 投票
1 回答
937 浏览

git - 我应该在 Laravel 5 中 gitignore 播种文件吗?

我已经用假数据设置了我的迁移文件和播种器文件,它们运行良好。我即将提交我的工作,但我真的不知道如何处理我的播种机文件。我绝对不想在生产中运行种子文件,所以我想我会忽略它们。我不想意外地将虚假数据迁移到生产环境中!

然而,我认为播种机可以在生产中使用真实数据。假设我添加了一个必须对其他表列执行一些计算的新列(为了示例,让我们忽略可以从其他字段计算的任何字段不应该存在于数据库中)并存储一个值。或新的设置/标志。我想我可以创建一个播种机,用现有的生产数据填充该字段。所以现在我不能忽略播种机目录。

我应该决定为每个案例独立忽略每个文件吗?我可以在某处声明播种机只能在dev环境中运行吗?这里的约定是什么?

0 投票
2 回答
1927 浏览

php - 如何播种自引用表 Laravel 5.1

如何使用来自同一个表的两个外键为表播种,例如消息:

移民:

模型工厂:

  1. 我如何在这里获取用户 ID?
  2. 如何获取 id 的现有消息行?