运行 php artisan migrate 从 sqlite 返回错误:“没有这样的表:pragma_compile_options”

问题描述 投票:0回答:1

我正在关注这个 Laravel 训练营:

https://bootcamp.laravel.com/inertia/installation

我安装了 Laravel 并按照指示将 DB_CONNECTION 更改为 sqlite。

但是,当我尝试通过运行迁移来完成 Laravel Breeze 的安装时,我收到了来自 sqlite 的异常。

这是命令的输出:

$ php artisan migrate

   Illuminate\Database\QueryException

  SQLSTATE[HY000]: General error: 1 no such table: pragma_compile_options (Connection: sqlite, SQL: select exists (select 1 from pragma_compile_options where compile_options = 'ENABLE_DBSTAT_VTAB') as enabled)

  at vendor/laravel/framework/src/Illuminate/Database/Connection.php:822
    818▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
    819▕                 );
    820▕             }
    821▕
  ➜ 822▕             throw new QueryException(
    823▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
    824▕             );
    825▕         }
    826▕     }

      +30 vendor frames

  31  artisan:35
      Illuminate\Foundation\Console\Kernel::handle()

我尝试用谷歌搜索错误消息,但没有找到任何结果。

这里是使用的sqlite版本:

$ sqlite3 --version
3.32.3 2020-06-18 14:00:33 7ebdfa80be8e8e73324b8d66b3460222eb74c7e9dfd655b48d6ca7e1933cc8fd

我可以做些什么来继续使用 sqlite 作为数据库的教程吗?

laravel sqlite laravel-breeze
1个回答
0
投票

尝试删除/删除所有表:

php artisan db:wipe

然后重复:

php artisan migrate

最后确保数据库有初始数据,例如:

php artisan db:seed

完成!如果出现同样的错误,请尝试在数据库迁移 PHP 脚本中手动创建

pragma_compile_options

但是说迁移需要在给你错误的迁移之前发生,我的意思是,迁移是按文件名的顺序执行的,确保所述迁移在文件资源管理器/Finder中具有正确的顺序。

© www.soinside.com 2019 - 2024. All rights reserved.