laravel 5.4 之后,数据迁移时常伴随着如下异常:

其原因是,laravel5.4 之后默认为数据库设置了1070的长度,而数据库只允许768的长度。解决方案是启动时声明长度为191, 其中的算法参见 mb4string 与数据库编码的字节换算 .

内容如下 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// /laravel_root/app/Providers/AppServiceProvider.php
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
}