问题标签 [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 - 播种数据库 - [ErrorException] 试图获取非对象的属性
我正在使用"zizaco/confide": "~4.0@dev"和"zizaco/entrust": "1.2.*@dev"。
我已经按照两个教程(confide migrations)中的描述设置了所有内容。此外,我创建了以下模型:
用户:
角色:
允许:
此外,我想在一开始就为我的数据库播种值,因此我为用户、角色和权限创建了几个播种器。但是,我的权限播种器出现错误:
用户表播种机:
RolesTableSeeder:
权限表播种器:
这是我在运行时遇到的错误db:seed
:
任何建议我在播种时做错了什么?
我很感激你的回答!
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-theory和data-integrity,我知道我可以重新播种,但这可能需要我工作日的几个小时。
干杯。
php - Laravel 5 播种
我正在按照文档播种 users 表,该表显示正在使用 User::create
但它一直在说:
我想也许我需要为用户使用工匠制作:模型,但它已经存在。谁能指出我正确的方向我只是从 Laravel 开始并通过 Laracast 和文档将它拼凑在一起,但是没有 Laracast 播种 5.0。您现在似乎无法生成种子,因为工匠无法识别 generate:seed
php - Laravel 5 数据库播种中的命名冲突
在运行我的数据库种子(以及其他控制台命令)时,我遇到了命名冲突。
我所有的模型都存储在app/Models
目录中,并且在App\Models
命名空间中。此目录中有一个名为Model.php
扩展 laravel 基础模型的基础模型。
我的一些模型扩展了这个基类,例如
我的一些模型直接扩展了 eloquent 模型,例如
当我的应用程序通过 http 访问时,这工作正常,并且没有命名冲突。但是,当我尝试运行控制台命令时,例如db:seed
,我收到以下错误:
我最初的猜测是 laravel 以某种方式编译种子文件,这导致了冲突。有没有人有任何想法,或者其他人已经遇到过这个问题?
php - 在laravel中播种时对函数的异步guzzle调用
我正在尝试从 api 获取地理编码并在我的数据库中针对地址条目进行更新。我正在通过 laravel 中的种子类运行它。
我正在使用 Guzzle 进行异步调用。我想异步运行 api 调用,同时我想在后台读取异步响应并在数据库中更新它们。
// 我在这里尝试回显和打印,脚本似乎没有在这个回调函数中进入这里 });
我在循环中调用上面的代码行。上面的脚本在我进行同步调用时运行良好,但在异步调用中我无法运行它?你能帮我吗?
脚本似乎没有进入回调函数
php - Laravel:“php artisan db:seed”不起作用
我尝试在数据库中运行“ServiceTableSeeder”表,但收到错误消息。
我尝试运行“ php artisan db:seed
”
消息:
数据库播种机 .php
ServiceTableSeeder.php
如何解决这个问题。我是 laravel 的新手,请指导我。
laravel - artisan db:seed 不起作用并且不打印错误
我的播种机类代码如下:
当我尝试在 CLI 上使用以下命令对其进行播种时:
php工匠数据库:种子
没有任何错误发生。这可能有什么问题?我在Github上看到了类似的讨论,但没有找到解决方案。您的帮助将不胜感激。
php - 当数据库被播种时,是否可以阻止 Laravel 运行模型事件?
Laravel 的播种器在我的模型上运行各种模型事件,这些事件会触发来自模型事件的新订单通知电子邮件等Product::saved()
。
这会显着减慢数据库播种速度。是否可以检测种子是否正在运行,如果是,告诉 Laravel 不要运行模型事件?
git - 我应该在 Laravel 5 中 gitignore 播种文件吗?
我已经用假数据设置了我的迁移文件和播种器文件,它们运行良好。我即将提交我的工作,但我真的不知道如何处理我的播种机文件。我绝对不想在生产中运行种子文件,所以我想我会忽略它们。我不想意外地将虚假数据迁移到生产环境中!
然而,我认为播种机可以在生产中使用真实数据。假设我添加了一个必须对其他表列执行一些计算的新列(为了示例,让我们忽略可以从其他字段计算的任何字段不应该存在于数据库中)并存储一个值。或新的设置/标志。我想我可以创建一个播种机,用现有的生产数据填充该字段。所以现在我不能忽略播种机目录。
我应该决定为每个案例独立忽略每个文件吗?我可以在某处声明播种机只能在dev
环境中运行吗?这里的约定是什么?
php - 如何播种自引用表 Laravel 5.1
如何使用来自同一个表的两个外键为表播种,例如消息:
移民:
模型工厂:
- 我如何在这里获取用户 ID?
- 如何获取 id 的现有消息行?