【问题标题】:Base table or view not found: 1146 Table 'db.ken_permissions' doesn't exist未找到基表或视图:1146 表 'db.ken_permissions' 不存在
【发布时间】:2015-12-18 02:24:30
【问题描述】:

有时,当我输入时:

php artisan 
php artisan migrate
etc

我收到消息:

  [Illuminate\Database\QueryException]                                         
  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db.ken_permissions' doesn't exist (SQL: select * from `ken_permissions`)

调试中,我可以看出我的问题发生在 artisan 文件中:

$status = $kernel->handle(
$input = new Symfony\Component\Console\Input\ArgvInput,
new Symfony\Component\Console\Output\ConsoleOutput
);

我已经检查了这个答案,但没有工作:

bootstrap/app.php 是干净的,

我没有 app/start 文件夹(L5.1),

routes.php 是干净的

php artisan -v 或 php artisan --pretend 不起作用,因为 artisan 似乎在运行之前就失败了。

我只有在 app/Providers 中

    public function boot(GateContract $gate)
{
    parent::registerPolicies($gate);
    // Dynamically register permissions with Laravel's Gate.
    foreach ($this->getPermissions() as $permission) {
        $gate->define($permission->name, function ($user) use ($permission) {
            return $user->hasPermission($permission);
        });
    }
}

一种解决方案是删除我所有的表,然后 composer dump-autoload,然后它再次工作,但它不断地回来。

这是一种跟踪迁移失败的方法吗? 知道为什么会这样吗?

发送!

【问题讨论】:

  • 请参考观察者的回答here

标签: laravel


【解决方案1】:

转到 App\Provider\AuthServiceProvider 如果您在引导方法 GateContract($this->getPermission() 等)上使用,请在 parent::registerPolicies($gate); 之后删除或添加评论并完成运行 php artisan migrate

【讨论】:

    【解决方案2】:

    添加到观察者的答案here

    Remove any lines requesting data from your model from these files to be sure artisan is not trying to load data from your non-existent table:
    
    bootstrap/start.php
    app/start/global.php
    app/start/local.php
    app/routes.php
    Also be sure to un-register any service providers that utilize data from that table in their register or boot methods inside of app/config/app.php.
    

    您可以将迁移移动到 database/temp folder 并逐个运行迁移 php artisan migrate --path=database/temp 您将知道哪个迁移导致了问题。
    注意
    你也可以使用 php artisan migrate --pretend 获取您正在尝试执行的查询。

    【讨论】:

    • 您是否尝试将迁移移动到临时文件夹?
    猜你喜欢
    • 2015-12-23
    • 1970-01-01
    • 2018-05-31
    • 2020-07-20
    • 2017-07-22
    • 2018-10-17
    • 2014-10-08
    • 2019-01-28
    • 2017-08-02
    相关资源
    最近更新 更多