不完整的Laravel迁移

时间:2018-12-15 23:25:53

标签: php mysql laravel

当我运行laravel命令'php artisan migration'时,数据库迁移不完全。

在我的迁移文件中,只迁移了3个表。

看到以下错误:

C:\wamp64\www\blog>php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table

Illuminate\Database\QueryException  : 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:\wamp64\www\blog\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 1000 bytes")
C:\wamp64\www\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:458

  2   PDOStatement::execute()
      C:\wamp64\www\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:458
Please use the argument -v to see more details.

请问可能是什么问题?

1 个答案:

答案 0 :(得分:1)

只需将此行添加到侧面启动方法 app \ Providers \ AppServiceProvider

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