Laravel迁移不完整[重复]

Posted

技术标签:

【中文标题】Laravel迁移不完整[重复]【英文标题】:Incomplete Laravel migration [duplicate] 【发布时间】:2019-05-16 19:26:55 【问题描述】:

当我运行 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.

请问可能是什么问题?

【问题讨论】:

【参考方案1】:

只需在 boot 方法 app\Providers\AppServiceProvider

中添加这一行
 public function boot()
    
        Schema::defaultStringLength(191);
    

【讨论】:

以上是关于Laravel迁移不完整[重复]的主要内容,如果未能解决你的问题,请参考以下文章

laravel迁移文件

带有 Sqlite 错误的 Laravel 迁移:typeSet 不存在

如何在 laravel 中运行特定迁移 [重复]

SQLSTATE [23000]:完整性约束违规:1452 无法在 laravel 迁移中添加或更新子行

Php工匠迁移失败Laravel [重复]

PHP Laravel迁移SQL问题[重复]