Laravel5.4框架中解決特殊欄位太長導致migrations報錯的方法

黄舟
發布: 2023-03-16 18:32:01
原創
1856 人瀏覽過

前言

本文主要介紹了Laravel 5.4因特殊字段太長導致migrations報錯的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹:

laravel 5.4 改變了預設的資料庫字元集,現在utf8mb4包括儲存emojis支援。 MySQL 需要v5.7.7或更高版本,當你試著在某些MariaDB或一些舊版的的MySQL上執行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
登入後複製

解決方法

經過查詢,我們可以在AppServiceProvider.php 檔案裡的boot 方法裡設定一個預設值:


#
<?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()
 {
  //
 }
}
登入後複製

以上是Laravel5.4框架中解決特殊欄位太長導致migrations報錯的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!