执行 db:seed 如果出现 TableSeeder does not exist 的解决方案

最近在使用Laravel开发一个项目,测试中需要增加数据库基础数据动作,当第一次执行完php artisan db:seed 后,增加新的seeder文件时执行会报错。错误信息如下[ReflectionException] Class ***TableSeeder does not exist

首先我已经确保新的seeder文件和全局database seeder是在同一个seeder目录下了,仍然会出现这个问题的原因是 我们需要清理下之前执行生成的classmap信息。

在控制台中执行composer dump-autoload,然后再执行php artisan db:seed.

在实际产品中,seeder一般用于产生基础数据,那么在线上环境中,我们不可以再直接执行全部的seeder,可以选择使用php artisan db:seed--class=UserTableSeeder来针对独立的seeder文件进行操作。具体可以参考文档laravel seeder

转自:https://www.jianshu.com/p/27a76e702d71

本帖已被设为精华帖!
本帖由系统于 4年前 自动加精
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

找不到的原因应该是自动加载除了问题吧,使用这个大概也无可厚非就是了

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!