Laravel:找不到基表或视图:1146 Table' database.pages不存在

时间:2014-08-14 18:39:52

标签: php laravel migrate

我正在使用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

但是这显示了同样的错误...

2 个答案:

答案 0 :(得分:12)

从这些文件中删除从模型中请求数据的所有行,以确保工匠不会尝试从不存在的表中加载数据:

  • bootstrap/start.php
  • app/start/global.php
  • app/start/local.php
  • app/routes.php

还要确保取消注册在app/config/app.php内的寄存器或引导方法中使用该表中数据的任何服务提供商。


问题是这些文件不仅针对浏览器(Web)请求执行,而且针对所有请求执行,包括命令行工匠调用(例如php artisan migrate)。因此,如果您尝试在任何这些文件中使用之前使用某些内容,那么您将会遇到错误的时间。

答案 1 :(得分:2)

您可以使用它来指示您的应用从控制台运行的时间。 我相信只有在运行命令时才会出现此问题

if( !App::runningInConsole() ){
  //allow laravel-menu to run
}

这样可以防止数据从不存在的表中加载