如何解决我的数据库迁移中的排序规则错误?
Posted
技术标签:
【中文标题】如何解决我的数据库迁移中的排序规则错误?【英文标题】:How can I resolve a collation error in my DB migration? 【发布时间】:2022-01-22 18:43:58 【问题描述】:我正在尝试将我的数据库从本地主机迁移到 cleardb。将我的数据库导入 cleardb 后,我收到错误 Unknown collation: 'utf8mb4_0900_ai_ci'。我不知道排序规则是什么,我也无法在网上找到任何关于排序规则的 cleardb 接受的内容。我猜它与正在提交的字符集有关。
关于如何解决这个问题,我有什么选择?
谢谢
【问题讨论】:
在 mysql 数组的 config/database.php 中设置 charset="utf8" 和 collation="utf8_general_ci" 非常感谢,您想将此设置为答案,以便我可以勾选它吗? 【参考方案1】:对于排序错误,您需要按照以下步骤进行操作
1、进入config/database.php文件 2、设置charset="utf8"和collation="utf8_general_ci"
最终的 MySQL 数组如下所示
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8',
'collation' => 'utf8_general_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
【讨论】:
以上是关于如何解决我的数据库迁移中的排序规则错误?的主要内容,如果未能解决你的问题,请参考以下文章
使用 pg_dump 将 Postgres 从 Windows 迁移到 Linux 时如何选择正确的排序规则来创建数据库?