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