>  기사  >  백엔드 개발  >  Laravel 마이그레이션에서 고유 키 길이 오류를 수정하는 방법은 무엇입니까?

Laravel 마이그레이션에서 고유 키 길이 오류를 수정하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-31 02:32:02867검색

How to Fix Unique Key Length Errors in Laravel Migrations?

Laravel 마이그레이션의 고유 키 길이 문제

Laravel에서 테이블 열에 대한 고유 키를 생성할 때 다음과 같은 오류가 발생할 수 있습니다. 지정된 키가 너무 깁니다. 이 문제는 고유 키에 정의된 열의 길이가 허용되는 최대 길이를 초과할 때 발생합니다.

문제 해결

제공된 마이그레이션은 고유 키에 대한 고유 제약 조건을 지정합니다. 320자 길이의 'email' 열입니다. 그러나 기본적으로 Laravel의 'email' 열은 기본 길이가 255인 문자열로 정의됩니다. 이 기본 길이는 대부분의 이메일 주소에 충분합니다.

문제를 해결하려면 길이를 줄이는 것이 좋습니다. 마이그레이션의 'email' 열을 250자와 같은 합리적인 값으로 설정합니다.

$table->string('email', 250);

또는 고유 키의 길이를 'unique()의 두 번째 매개 변수로 명시적으로 지정할 수 있습니다. ' 방법:

$table->unique('email', 'users_email_uniq', 320);

Laravel 5.4 이상

Laravel 버전 5.4 이상에서는 보다 포괄적인 솔루션을 사용할 수 있습니다. 'AppServiceProvider.php' 파일에서 'boot()' 메서드에 다음 코드를 추가합니다.

use Illuminate\Database\Schema\Builder;

public function boot()
{
    Builder::defaultStringLength(191);
}

기본 문자열 길이를 191로 설정하면 'string()' 메서드를 사용하여 생성된 열이 보장됩니다. 최대 길이는 191자이므로 고유 키 길이 문제가 발생할 가능성이 없습니다.

위 내용은 Laravel 마이그레이션에서 고유 키 길이 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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