【问题标题】:Laravel db:seed does not work without --class parameterLaravel db:seed 在没有 --class 参数的情况下不起作用
【发布时间】:2019-06-11 23:52:45
【问题描述】:

由于某种原因,在我的 Laravel 5.6 项目中运行 php artisan db:seed 不起作用。

  • 即使没有数据库,该命令也会(安静地)运行
  • 在终端上不返回任何错误

但是,当我运行 php artisan db:seed --class=ClassNameTableSeeder 时,它可以工作。造成这种奇怪行为的原因可能是什么?

注意:类似于39521913 之类的问题,但不是重复的。

【问题讨论】:

  • 你能显示 DatabaseSeeder 类的内容吗?
  • 只是确认 - 你试过composer dump-autoload吗?有时我会忘记这样做
  • 它会抛出错误吗?您可以将DatabaseSeeder 课程添加到您的问题中吗?
  • @PankajJha composer dump-autoload 不起作用。
  • @Davit run in default DatabaseSeeder 默认为空 Marcin 在他的回答中解释了这一点。感谢您的努力。

标签: laravel laravel-5 laravel-5.6 laravel-seeding


【解决方案1】:

这是因为默认情况下DatabaseSeeder 什么都不做。新鲜的 Laravel 项目中的原始代码如下所示:

public function run()
{
    // $this->call(UsersTableSeeder::class);
}

所以要运行任何数据库播种器,你应该取消注释这一行并输入有效的类名,例如:

$this->call(ClassNameTableSeeder1::class);
$this->call(ClassNameTableSeeder2::class);

等等,为你放在这里的每个班级运行播种机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 2020-06-25
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    相关资源
    最近更新 更多