問題描述
(1)laravel 5.4或者更高版本 改變了默認的數據庫字符集,現在utf8mb4包括存儲emojis支持。如果你運行MySQL v5.7.7或者更高版本,則不需要做任何事情。(2)當你試著在一些MariaDB或者一些老版本的的MySQL上運行 migrations 命令時,你可能會碰到下面這個錯誤:Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes ? 【指定的鍵太長了,最大鍵的長是767bytes,因為laravel默認字符串長度是767bytes,所以要自己去手動配置。】
解決方案
<?php namespace AppProviders; // 導入Schema類 use IlluminateSupportFacadesSchema; use IlluminateSupportServiceProvider; class AppServiceProvider extends ServiceProvider { public function boot() { // 在app/providers/AppServiceProvider.php中boot方法中加上 Schema::defaultStringLength(191); } }
更多Laravel相關技術文章,請訪問Laravel教程欄目進行學習!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END