حل مشکل خطای اتصال به پایگاه داده لاراول

Laravel تغییری را به مجموعه پیش فرض پایگاه داده ایجاد کرد و در حال حاضر utf8mb4 است که شامل پشتیبانی برای ذخیره emojis است. این تنها بر برنامه های جدید تاثیر می گذارد و تا زمانی که شما MySQL v5.7.7 و بالاتر را اجرا می کنید نیازی به انجام کاری ندارید.

برای کسانی که از MariaDB یا نسخه های قدیمی MySQL استفاده می کنند، ممکن است این خطا را تجربه کنید:

[Illuminate\Database\QueryException]
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

برای حل مشکل فایل AppServiceProvider.php را ویرایش کنید و در داخل فانکشن بوت یک طول رشته پیشفرض تنظیم کنید:

use Illuminate\Support\Facades\Schema;

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *