머리말
이 글은 Laravel 5.4에서 너무 긴 특수 필드로 인해 보고된 마이그레이션 오류에 대한 관련 내용을 주로 소개합니다. 모두의 참고와 학습을 위해 공유합니다. 자세한 소개:
laravel 5.4에서는 기본 데이터베이스 문자 집합이 변경되었습니다. 이제 utf8mb4에는 이모티콘 저장 지원이 포함됩니다. MySQL에는 v5.7.7 이상이 필요합니다. 일부 MariaDB 또는 일부 이전 버전의 MySQL에서 마이그레이션 명령을 실행하려고 하면 다음 오류가 발생합니다.
[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
Solution
쿼리 후 AppServiceProvider.php 파일의 부팅 방법에서 기본값을 설정할 수 있습니다:
<?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() { // } }
위 내용은 Laravel 5.4 프레임워크에서 특수 필드가 너무 길어서 발생하는 마이그레이션 오류 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!