首页 > 解决方案 > 不完整的 Laravel 迁移

问题描述

当我运行 laravel 命令“php artisan migrate”时,我的数据库迁移不完整。

在我的迁移文件中,仅迁移了 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.

请问可能是什么问题?

标签: phpmysqllaravel

解决方案


只需在侧启动方法app\Providers\AppServiceProvider中添加这一行

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

推荐阅读