studio-hyperf
studio-hyperf copied to clipboard
初始化数据表时报错,MySQL最低版本是多少?
初始化数据表的时候报错:
# php bin/hyperf.php migrate
[INFO] Migration table created successfully.
Migrating: 2020_07_05_0_create_chatlog_messages_table
PHP Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes in /studio-hyperf/vendor/hyperf/database/src/Connection.php:366
Stack trace:
#0 /studio-hyperf/vendor/hyperf/database/src/Connection.php(366): PDOStatement->execute()
#1 /studio-hyperf/vendor/hyperf/database/src/Connection.php(1070): Hyperf\Database\Connection->Hyperf\Database\{closure}('alter table `ch...', Array)
#2 /studio-hyperf/vendor/hyperf/database/src/Connection.php(1034): Hyperf\Database\Connection->runQueryCallback('alter table `ch...', Array, Object(Closure))
#3 /studio-hyperf/vendor/hyperf/database/src/Connection.php(367): Hyperf\Database\Connection->run('alter table `ch...', Array, Object(Closure))
#4 /studio-hyperf/vendor/hyperf/database/src/Schema/Blueprint.php(100): Hyperf\Database\Connection->statement('alter table `ch...')
#5 /studio-hyperf/vendor/hyperf/database/src/Schema/Bu in /studio-hyperf/vendor/hyperf/database/src/Connection.php on line 1077
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes in /studio-hyperf/vendor/hyperf/database/src/Connection.php:366
Stack trace:
#0 /studio-hyperf/vendor/hyperf/database/src/Connection.php(366): PDOStatement->execute()
#1 /studio-hyperf/vendor/hyperf/database/src/Connection.php(1070): Hyperf\Database\Connection->Hyperf\Database\{closure}('alter table `ch...', Array)
#2 /studio-hyperf/vendor/hyperf/database/src/Connection.php(1034): Hyperf\Database\Connection->runQueryCallback('alter table `ch...', Array, Object(Closure))
#3 /studio-hyperf/vendor/hyperf/database/src/Connection.php(367): Hyperf\Database\Connection->run('alter table `ch...', Array, Object(Closure))
#4 /studio-hyperf/vendor/hyperf/database/src/Schema/Blueprint.php(100): Hyperf\Database\Connection->statement('alter table `ch...')
#5 /studio-hyperf/vendor/hyperf/database/src/Schema/Bu in /studio-hyperf/vendor/hyperf/database/src/Connection.php on line 1077
找了下 https://laravel-news.com/laravel-5-4-key-too-long-error , 应该是 mysql 版本问题. 测试期间数据表还没有做优化设计, 定义字符串时用的默认长度. 我服务器用的 mariadb : Ver 15.1 Distrib 10.3.17-MariaDB, for Linux (x86_64) using readline 5.1
OK