0

I'm using laravel laravel 5.6.12 and php 7.2. When I run php artisan migrate I receive this error.

The default tables user and migrations are created but it doesn't create my custom table admins.

I suppose that laravel doesn't support php 7.2 very well yet.

   Migration table created successfully.

   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`))

   at E:\Folder\Folder\pm-system\pm-app\vendor\laravel\framework\src\Illuminate\Database\Connection.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 767 bytes")
  E:\Folder\Folder\pm-system\pm-app\vendor\laravel\framework\src\Illuminate\Database\Connection.php : 458

   2 PDOStatement::execute()
  E:\Folder\Folder\pm-system\pm-app\vendor\laravel\framework\src\Illuminate\Database\Connection.php : 458

   Please use the argument -v to see more details.
  • add your migration code to the question. (not sure but it may be the migration problem.) – iamab.in Mar 23 '18 at 09:05
  • Thank you @Robert This solve my problem. The solution was to add these lines of code code in app/Providers/AppServiceProvider.php `use Illuminate\Support\Facades\Schema; //Import Schema function boot() { Schema::defaultStringLength(191); //Solved by increasing StringLength }` – Yordan Kostadinov Mar 23 '18 at 10:01

0 Answers0