>데이터 베이스 >MySQL 튜토리얼 >Laravel 5.4 마이그레이션 오류: '지정된 키가 너무 깁니다'를 수정하는 방법은 무엇입니까?

Laravel 5.4 마이그레이션 오류: '지정된 키가 너무 깁니다'를 수정하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-18 21:39:11808검색

Laravel 5.4 Migration Error: How to Fix

Laravel 마이그레이션 오류: "지정된 키가 너무 깁니다."

발생한 문제:

make를 사용하려고 할 때 :auth Laravel 5.4의 명령, 데이터베이스 마이그레이션 오류 발생:

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

해결 방법:

기본 MySQL InnoDB 엔진을 사용할 때 일반적으로 발생하는 이 문제를 해결하려면 두 가지 접근 방식이 있습니다.

AppServiceProvider 방법:

  1. app/Providers/AppServiceProvider.php를 엽니다.
  2. 부팅 방법 내에 다음 코드를 추가합니다.
use Illuminate\Support\Facades\Schema;

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    Schema::defaultStringLength(191);
}

MySQL 서버 구성:

또는 innodb_large_prefix 옵션을 활성화하도록 MySQL 서버 구성을 수정할 수 있습니다. 이 옵션을 활성화하기 위한 구체적인 지침은 데이터베이스 설정에 따라 다릅니다. 지침은 MySQL 설명서를 참조하세요.

추가 참고 사항:

  • 제공되는 솔루션은 Laravel 5.4에만 해당됩니다. 다른 버전의 경우 관련 설명서를 참조하세요.
  • defaultStringLength(191) 메서드는 모든 데이터베이스 열의 기본 최대 문자열 길이를 191자로 설정합니다.
  • innodb_large_prefix 옵션을 사용하면 MySQL에서 인덱스의 접두사를 늘려 키 길이 제한을 해결했습니다.

위 내용은 Laravel 5.4 마이그레이션 오류: '지정된 키가 너무 깁니다'를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.