علیرضا تحریری
علیرضا تحریری
خواندن ۱ دقیقه·۱ سال پیش

آموزش رفع خطای 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 در پروژه شما را رفع کرده باشد. در صورت نیاز به هرگونه راهنمایی سوالات مرتبط با این مقاله را در قسمت نظرات بنویسید.


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

لاراولخطا
سلام علیرضا تحریری هستم برنامه نویس بک اند که با فریم های Laravel،‌ Livewire، Lumen، Tailwind CSS، Alpine JS و ... کد مینویسم.
شاید از این پست‌ها خوشتان بیاید