在复制该项目之前,一切正常,但是在将该项目复制到另一台笔记本电脑后,我无法迁移数据库错误
Illuminate\Database\QueryException : SQLSTATE[42S02]: Base table or view not found: 1146 Table 'discussionforum.channels' doesn't exist (SQL: select * from `channels`)
at /opt/lampp/htdocs/discussionforum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:665
661| // If an exception occurs when attempting to run a query, we'll format the error
662| // message to include the bindings with SQL, which will make this exception a
663| // lot more helpful to the developer instead of just the database's errors.
664| catch (Exception $e) {
> 665| throw new QueryException(
666| $query, $this->prepareBindings($bindings), $e
667| );
668| }
669|
Exception trace:
1 Illuminate\Foundation\Application::Illuminate\Foundation\{closure}(Object(App\Providers\AppServiceProvider))
[internal]:0
2 PDOException::("SQLSTATE[42S02]: Base table or view not found: 1146 Table 'discussionforum.channels' doesn't exist")
/opt/lampp/htdocs/discussionforum/vendor/laravel/framework/src/Illuminate/Database/Connection.php:327
Please use the argument -v to see more details.
答案 0 :(得分:2)
如果在提供程序中使用了某些表或模型,则您应检查AppServiceProvider
或其他在引导之前启动的提供程序,如果该表不存在,则无法使用迁移。
如果您看起来更好,那是错误的
1 Illuminate\Foundation\Application::Illuminate\Foundation\{closure}(Object(App\Providers\AppServiceProvider))
[internal]:0
在提供任何表之前检查提供者使用哪种模型。
如果您坚持在提供者中使用模型,则应在使用之前检查它是否存在,如下所示:
Schema::hasTable('mytable'); // off course schema must be imported.
如果您发布的是您的提供商内容,它将有所帮助。
答案 1 :(得分:0)
如果您不需要保留当前数据 您可以尝试使用
重置数据php artisan migrate:refresh --seed
和/或删除并重新创建您的 “数据库。(sql扩展名)”文件