前言
本文主要介紹了關(guān)于Laravel 5.4因特殊字段太長(zhǎng)導(dǎo)致migrations報(bào)錯(cuò)的相關(guān)內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹:
laravel 5.4 改變了默認(rèn)的數(shù)據(jù)庫(kù)字符集,現(xiàn)在utf8mb4包括存儲(chǔ)emojis支持。MySQL 需要v5.7.7或者更高版本,當(dāng)你試著在一些MariaDB或者一些老版本的的MySQL上運(yùn)行 migrations 命令時(shí),你會(huì)碰到下面這個(gè)錯(cuò)誤:
[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)過(guò)查詢(xún),我們可以在 AppServiceProvider.php 文件里的 boot 方法里設(shè)置一個(gè)默認(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é)
以上就是這篇文章的全部?jī)?nèi)容了,本文還有許多不足,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
標(biāo)簽:南昌 駐馬店 臨夏 黑河 中衛(wèi) 阜陽(yáng) 延邊 欽州
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel 5.4因特殊字段太長(zhǎng)導(dǎo)致migrations報(bào)錯(cuò)的解決》,本文關(guān)鍵詞 Laravel,5.4,因,特殊,字段,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。