前言
本文主要介紹了關(guān)于Laravel 5.4因特殊字段太長導(dǎo)致migrations報錯的相關(guān)內(nèi)容,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的介紹:
laravel 5.4 改變了默認(rèn)的數(shù)據(jù)庫字符集,現(xiàn)在utf8mb4包括存儲emojis支持。MySQL 需要v5.7.7或者更高版本,當(dāng)你試著在一些MariaDB或者一些老版本的的MySQL上運(yùn)行 migrations 命令時,你會碰到下面這個錯誤:
[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `use rs_email_unique`(`email`)) [PDOException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
解決方法
經(jīng)過查詢,我們可以在 AppServiceProvider.php 文件里的 boot 方法里設(shè)置一個默認(rèn)值:
?php namespace App\Providers; use Illuminate\Support\ServiceProvider; //添加的代碼 use Illuminate\Support\Facades\Schema; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { //添加的代碼 Schema::defaultStringLength(191); } /** * Register any application services. * * @return void */ public function register() { // } }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,本文還有許多不足,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
標(biāo)簽:南昌 駐馬店 臨夏 黑河 中衛(wèi) 阜陽 延邊 欽州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel 5.4因特殊字段太長導(dǎo)致migrations報錯的解決》,本文關(guān)鍵詞 Laravel,5.4,因,特殊,字段,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。