【发布时间】:2014-10-08 12:49:25
【问题描述】:
我正在开发 CMS,但我的迁移有点问题。我添加了一个新的迁移文件,我想添加那个。那没用,所以我跑了这个:
php artisan migrate:reset
之后我跑了这个:
php artisan migrate:install
php artisan migrate
现在我得到了这个错误:
{"error":{"type":"Illuminate\\Database\\QueryException","message":"SQLSTATE[42S02]: Base table or
view not found:1146 Table 'cms.pages' doesn't exist (SQL: select * from `pages`)"
错误有点告诉我它找不到数据库,因为这是真的。
我还有一个运行迁移的命令,我像这样运行它:
php artisan app:install
但这显示了同样的错误......
【问题讨论】:
-
app/config/app.php中添加了自定义服务提供商吗?它们仍然在工匠命令期间运行,如果其中一个依赖于现有的页表,您将遇到这种情况。 -
不,我不...我确实创建了自己的 SiteServiceProvider: package('app/site', 'site', public_path() . '/site'); } 公共函数 register() { 需要 public_path() 。 '/site/routes.php'; } }
-
除非您明确将其添加到应用配置中,否则它不会被包含在内。另一种可能性是在
bootstrap/start.php、app/start/global.php、app/start/local.php或app/routes.php中添加一些正在寻找该表的内容 -
我确实使用 laravel-menu 提供程序,并从我的 app/routes.php 中的页面生成菜单,可以吗?
-
是的,即使在工匠命令期间,路由仍会得到处理。这就是
$ php artisan routes知道路线的方式:)