laravel - Laravel 数据库在部署时出现护照错误
问题描述
我遇到以下错误:SQLSTATE[22023]: Invalid parameter value: 7 ERROR: invalid value for parameter "client_encoding": "utf8mb4" (SQL: select exists(select * from "oauth_personal_access_clients") as "exists")
$token = Auth::user()->createToken('api')->accessToken;
当然,我将 heroku 与 pgsql 以及我的数据库配置一起使用 =>
'default' => env('DB_CONNECTION', 'pgsql'),
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'prefix_indexes' => true,
'schema' => 'public',
'sslmode' => 'prefer',
],
数据库工作正常,除了这种情况。
解决方案
我已经解决了。在passport.php中
/*
|--------------------------------------------------------------------------
| Passport Storage Driver
|--------------------------------------------------------------------------
|
| This configuration value allows you to customize the storage options
| for Passport, such as the database connection that should be used
| by Passport's internal database models which store tokens, etc.
|
*/
'storage' => [
'database' => [
'connection' => env('DB_CONNECTION', 'mysql'),
],
],
];
我将其更改为:
'connection' => env('DB_CONNECTION', 'pgsql'),
然后 php artisan 迁移。它有效!
推荐阅读
- wordpress - 一个产品有多个实例,每个实例销售一次
- c# - Azure 存储客户端加密
- visual-studio-2013 - 如何更改 Abaqus 求解器可执行文件名
- google-cloud-platform - 基于谷歌计算引擎的 mpich 集群中的主机密钥验证失败
- integration - 用于 Bogacki Shampine 的自定义 Simulink 离散时间积分器模块
- c - 在c中读取和写入文本文件
- python - 删除 RISE(Jupyter Notebook)中的问号和进入/退出按钮
- javascript - Nuxt.js 应用程序在将链接复制并粘贴到新的浏览器选项卡时不会加载图表或地图,否则可以正常工作
- go - 如何在 GoLang 中使用 GOB 编码序列化嵌套结构?
- xcode10 - 将错误绑定到变量的 Swift Catch 模式