آموزش رفع خطای Specified Key Was Too Long هنگام Migrate در لاراول

 آموزش رفع خطای Specified Key Was Too Long هنگام Migrate در لاراول
آموزش رفع خطای Specified Key Was Too Long هنگام Migrate در لاراول

بسیاری از ما تا به حال با خطای `Specified key was too long error` هنگام اجرا کردن migration در لاراول بخورد کرده‌ایم؛ دلیل این خطا به دلیل استفاده کردن از MariaDB یا نسخه‌های قدیمی‌تر MySQL میباشد.

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 users_email_unique(email))[PDOException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

شما میتوانید این خطا را با تنظیم کردن مقدار `key length` به 191 این مشکل را حل کنید. خب الان سوال اینجاست که باید `key length` را در کجا 191 تنظیم کنیم؟

شما باید وارد فایل `AppServiceProvider.php` بشوید که در آدرس `app/Provider` قرار گرفته است. وارد این فایل بشوید و در متد boot این کد را برای رفع خطای Specified key was too long error فرار دهید.

use Illuminate\Support\Facades\Schema;

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

خب امیدوارم که این قطعه کد کوچک شما مشکل خطای Specified key was too long در پروژه شما را رفع کرده باشد. در صورت نیاز به هرگونه راهنمایی سوالات مرتبط با این مقاله را در قسمت نظرات بنویسید.

منبع: وبسایت میموک