مشکل عدم اجرای دستور php artisan migrate در لاراول

تعرفه تبلیغات در سایت

امکانات وب

مایگریشن در <strong>لاراول</strong>

شاید شما هم مثل من وقتی یه پروژه لاراولی رو دارید راه اندازی میکنید با مشکل عدم اجرای مایگریت ها مواجه بشید . منظورم اینه که وقتی میخواهید دستور زیر رو اجرا کنید ، کامپوزر به مشکل بر میخوره و یکسری خطاهایی رو به شما بده که من نمونه هایی رو در زیر آوردم :

 

دستوری که صحبت ازش داریم اینه :

php artisan migrate
 

برای رفع خطای زیر در لاراول هنگام اجرای دستور فوق راهکاری رو در پائین همین پست نوشتم که می تونید امتحان کنید :

 

خطا : 

 IlluminateDatabaseQueryException  : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long;

max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))

  at C:wamp64wwwMyProjectssiblearnvendorlaravelframeworksrc

IlluminateDatabaseConnection.php: 664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes")
      C:wamp64wwwMyProjectssiblearnvendorlaravelframeworksrc

IlluminateDatabaseConnection.php : 458

  2   PDOStatement::execute()
      C:wamp64wwwMyProjectssiblearnvendorlaravelframeworksrcIlluminate

DatabaseConnection.php : 458

  Please use the argument -v to see more details.

 

-----------------------------------

 

راهکار حل مشکل :

در پروژه لاراولی خودتون وارد فایل زیر شوید :

config/database.php

 

عبارت زیر رو پیدا کنید :

 

'engine' => null',
 
حال آنرا پاک کنید و بجای آن عبارت زیر را جایگزین کنید :
 
'engine' => 'InnoDB ROW_FORMAT=DYNAMIC',
 
حالا مجددا به محیط کامند لاین کامپوزر برگردید و دستور اجرای migration ها رو اجرا کنید که بصورت زیر میباشد :
 
php artisan migrate
 
 
نویسنده : بازدید : 0 تاريخ : يکشنبه 12 فروردين 1397 ساعت: 1:11
برچسب‌ها :

خبرنامه

عضویت

نام کاربري :
رمز عبور :