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

php - 未找到 laravel 工厂模型

我正在尝试创建一个新项目,其中包含有关 laravel 的更多信息,现在我正在使用工厂创建模型、迁移和种子,但我遇到了这个问题:

模型用户

模型帐户状态

种子文件:

工厂文件:

尝试与工匠进行分贝种子时:

已经在尝试 composer dump-autoload ,优化,我将模型放在 App\Models 的文件夹中。

带有工厂帐户状态的种子可以工作,但是当我尝试同时为两者运行时(帐户状态然后是用户)我有那个错误)有人知道为什么吗?将所有工厂代码放在一个文件中是一种好习惯吗?

0 投票
1 回答
231 浏览

php - 只有在 Laravel 播种中使用时,mcrypt_decrypt 才返回正确的数据

我们在 Windows 上的 PHP 7.0 下使用 Laravel 5.3 中内置的数据库播种。问题是每当我们使用 mcrypt_encrypt 对一些数据进行加密时,我们从 mcrypt_decrypt 得到的数据和我们传入的数据是不一样的。

在这种情况下,$data 是一些二进制字符串,而不是原始字符串。

  • 这只发生在播种期间。mcrypt_encrypt/mcrypt_decrypt 将通过网络请求或修补程序工作。
  • 我们知道它已被弃用。我们必须使用 mcrypt_encrypt 而不是最近的加密(https://laravel.com/docs/5.3/encryption),因为我们已经使用 mcrypt_encrypt 加密了遗留数据。
  • $key 是从加密密钥加载的静态变量
  • 这不是指示问题的错误或警告

有人知道这里会发生什么吗?

0 投票
0 回答
1589 浏览

mysql - 带有 .sql 文件的 Laravel 播种机

我想在我的表中插入 30K 记录。我有同一张表的 .sql 文件,并且想使用 laravel 播种机。

它只插入 338 行。插入 338 后会发生什么?我该如何解决这个问题?

0 投票
1 回答
669 浏览

laravel - Laravel 5.3 通知播种器

我想要实现的目标是为 Laravel Notifications 创建一个数据库播种器。至于我使用数据库来存储我的通知,应该有一种方法来实现它。我正在创建工厂模型:

实际上它在数据库中创建了一个通知,但是工匠返回错误

有人知道该怎么做吗?

0 投票
2 回答
17993 浏览

php - Laravel 中的数据库播种是什么?

我使用 Laravel 框架,最近我被告知有一些命名的东西database seeding会为我们的测试生成一个假数据集。我的理解正确吗?

嗯,这很奇怪。这个怎么运作?它如何知道我在数据库的 X 列中需要哪种类型的数据?以及它是如何产生的?

另外,我不能为我的真实数据集制作种子(类似于导出)吗?你知道,我英语不太好,所以我无法理解数据库领域种子的概念。

0 投票
1 回答
2085 浏览

php - 流明数据库播种错误

我正在学习使用 Laravel 的 Lumen 框架进行后端开发,并且正在按照Laravel 的文档编写数据库种子类。以下是代码:

模型app\Photo.php

模型厂database\factories\ModelFactory.php

DatabaseSeederPhotoTableSeeder班级database\seeds\DatabaseSeeder.php

以前 MySQL 数据库中的表名是photos,并且播种使用以下命令可以完美地工作php artisan db:seed

播种:PhotoTableSeeder

但是当我将表名更改为photo并运行相同的命令时,出现了这些错误:

[Illuminate\Database\QueryException] SQLSTATE[42S02]:未找到基表或视图:1146 表“homestead.photos”不存在(SQL:插入“照片”(“链接”、“类别 ID”、“日期” ) 值 ( https://placehold.it/259 , 3, 2012-05-28))

[PDOException] SQLSTATE [42S02]:未找到基表或视图:1146 表 'homestead.photos' 不存在

我不知道为什么仍然调用旧表名。我猜它被保存在某个地方或者我错过了什么,我无法找出错误的原因。

0 投票
3 回答
17312 浏览

laravel - 如何从 PHPUnit 测试设置运行 Laravel 数据库播种机?

我正在尝试在某些 PHPUnit 测试用例中的每次测试之前重新创建数据库。我正在使用 Laravel 5.3。这是测试用例:

运行phpunit失败并出现错误:

$ phpunit PHPUnit 5.7.5 由 Sebastian Bergmann 和贡献者提供。

E 1 / 1 (100%)

时间:2.19 秒,内存:12.00MB

有 1 个错误:

1) CourseTypesTest::test_list_course_types ReflectionException: 类 TestDatabaseSeeder 不存在

D:\www\learn-laravel\my-folder-api\vendor\laravel\framework\src\Illuminate\Container\Container.php:749 D:\www\learn-laravel\my-folder-api\vendor\laravel \framework\src\Illuminate\Container\Container.php:644 D:\www\learn-laravel\my-folder-api\vendor\laravel\framework\src\Illuminate\Foundation\Application.php:709 D:\www \learn-laravel\my-folder-api\vendor\laravel\framework\src\Illuminate\Database\Console\Seeds\SeedCommand.php:74 D:\www\learn-laravel\my-folder-api\vendor\laravel \framework\src\Illuminate\Database\Console\Seeds\SeedCommand.php:63 D:\www\learn-laravel\my-folder-api\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Model.php :2292 D:\www\learn-laravel\my-folder-api\vendor\laravel\framework\src\Illuminate\Database\Console\Seeds\SeedCommand.php:64 D:\www\learn-laravel\my-folder-api\vendor\laravel\framework\src\Illuminate\Container\Container.php:508 D:\www\learn-laravel\my-folder-api\vendor\laravel\framework \src\Illuminate\Console\Command.php:169 D:\www\learn-laravel\my-folder-api\vendor\symfony\console\Command\Command.php:254 D:\www\learn-laravel\my -folder-api\vendor\laravel\framework\src\Illuminate\Console\Command.php:155 D:\www\learn-laravel\my-folder-api\vendor\symfony\console\Application.php:821 D: \www\learn-laravel\my-folder-api\vendor\symfony\console\Application.php:187 D:\www\learn-laravel\my-folder-api\vendor\symfony\console\Application.php:118 D:\www\learn-laravel\my-folder-api\vendor\laravel\framework\src\Illuminate\Console\Application.php:107 D:\www\learn-laravel\my-folder-api\vendor\laravel \framework\src\Illuminate\Foundation\Console\Kernel.php:218 D:\www\learn-laravel\my-folder-api\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php:237 D:\www\learn-laravel\my-folder-api\tests\rest \CourseTypesTest.php:17

错误!测试:1,断言:0,错误:1。

但是这个类存在:
数据库/种子中的 TestDatabaseSeeder

0 投票
1 回答
1092 浏览

laravel - 使用外键字段 Laravel 5.3 创建 Seeder

我正在尝试为我的表地址创建一个播种器,但我的表的一个字段是一个外键,这个 Fk 引用了我的表用户的用户 ID。

我的播种机类:

当我运行 db:seed 时,我收到错误消息:

[ErrorException] 传递给 Faker\Provider\Base::randomElements() 的参数 1 必须是数组类型,给定对象,在 C:\xampp\htdocs\projeto\vendor\fzaninotto\fake r\src\Faker\Provider 中调用\Base.php 在第 205 行并定义

0 投票
3 回答
87 浏览

php - 播种时找不到表

以下是我的迁移

迁移

users 表与 customer 表有关系

在用户中:

当我打电话时php artisan migrate:refresh --seed,工匠给了我以下错误:

因为客户表不存在......(很明显)

有没有办法解决这个问题?我知道更改文件的日期会解决这个问题,但应该有更好的方法

0 投票
7 回答
30656 浏览

php - 如何为 laravel 测试播种数据库迁移?

Laravel 的文档建议使用DatabaseMigrationstrait 在测试之间迁移和回滚数据库。

但是,我有一些种子数据想用于我的测试。如果我运行:

然后它适用于第一个测试,但它无法通过后续测试。这是因为 trait 会回滚迁移,并且当它再次运行迁移时,它不会为数据库做种。如何通过迁移运行数据库种子?