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

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); }