Laravel项目MySQL 5.6数据库Migration创建过程中报错怎么解决

Laravel项目MySQL 5.6数据库Migration创建过程中报错怎么解决

 

开发环镜:PHP > 7.0

Laravel 5.5版本

数据库:MySQL V5.6

 

 

对于Laravel框架的版本,建议使用MySQL 5.7及以上版本的数据库,以免在迁移过程中出现类字符集等问题,导致Migration创建数据库出错。

但是,对于已经使用MySQL 5.6的数据库,我们如何解决Migration数据库创建错误的问题呢?这里我们提供两种解决方案:

 

方法1、直接修改字符集

 

修改config\database.php文件

 

新版本Laravel MySQL采用utf8mb4字符集,需要修改代码:

 

‘mysql’ => [

‘driver’ => ‘mysql’,

‘host’ => env(‘DB_HOST’, ‘127.0.0.1’),

‘port’ => env(‘DB_PORT’, ‘3306’),

‘database’ => env(‘DB_DATABASE’, ‘forge’),

‘username’ => env(‘DB_USERNAME’, ‘forge’),

‘password’ => env(‘DB_PASSWORD’, ”),

‘unix_socket’ => env(‘DB_SOCKET’, ”),

‘charset’ => ‘utf8mb4’,

‘collation’ => ‘utf8mb4_unicode_ci’,

‘prefix’ => ”,

‘strict’ => true,

‘engine’ => null,

],

 

修改为:

 

‘mysql’ => [

‘driver’ => ‘mysql’,

‘host’ => env(‘DB_HOST’, ‘127.0.0.1’),

‘port’ => env(‘DB_PORT’, ‘3306’),

‘database’ => env(‘DB_DATABASE’, ‘forge’),

‘username’ => env(‘DB_USERNAME’, ‘forge’),

‘password’ => env(‘DB_PASSWORD’, ”),

‘unix_socket’ => env(‘DB_SOCKET’, ”),

‘charset’ => ‘utf8’,

‘collation’ => ‘utf8_unicode_ci’,

‘prefix’ => ”,

‘strict’ => true,

‘engine’ => null,

],

 

再使用php artisan migrate即可在MySQL 5.6中创建数据库成功。

 

方法2、修改AppServiceProvider.php文件

 

1、修改App\Providers\AppServiceProvider.php文件

 

public function boot()

{

//

}

 

修改为:

 

use Schema; //引入Schema

 

public function boot()

{

//

Schema::defaultStringLength(191);

}

 

Schema::defaultStringLength(191)指定字符集长度

 

然后再使用php artisan migrate命令创建数据库成功!

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/115403.html<

(0)
运维的头像运维
上一篇2025-02-18 02:19
下一篇 2025-02-18 02:21

相关推荐

  • 微软删除用户互联网搜索资料中的IP地址

    据全球软件巨头微软公司于当地时间本周二表示,为了遵守欧盟隐私监管机构的法规,它将在保存6个月之后删除与搜索查询相关的国际互联网协议(IP)地址。   据微软公司欧盟事务副部门的副总…

  • 机器学习如何帮助企业应对网络威胁?

    在繁忙的数字生活中,网络威胁变得更加复杂和频繁。仅靠传统的方法已经无法确保网络足够安全。随着网络变得错综复杂,机器学习(ML)越来越不可或缺。机器学习可以帮助企业加强防御,积极应对…

  • 警惕多媒体文件暗藏杀机

      当下载了X老师的电影,下了XX门套图后迫不及待的打开文件后,计算机可能就被安装了恶意木马,今天跟乌云君学点姿势,做好自我保护。。。   漏洞出现在使用了各种第三方媒体工具的用户…

  • 实现VDI灾难恢复的四种方式

    对于企业——特别是自己运行虚拟桌面环境的企业——来说,确保部署可靠的灾难恢复计划是非常重要的。但是现在应该如何制定VDI灾难恢复计划?我们可以考虑Hyper-V、Windows T…

  • 漫步云端:谁给你的安全买单?

    2015年,云计算安全将成为重头戏。在企业不断感受到云技术带来的如降低成本,资源充分利用等等种种好处之后,将有更多的企业把业务转向云端。但伴随着过去两年的云安全事件的频繁发生,云安…

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注