从 v1.8 升级到 v1.9

功能增强 🚀

破坏性变化 🛠

Bug 修复 🐛

升级依赖 ⬆️

  • build(deps): bump github.com/gin-gonic/gin from v1.7.3 to v1.8.2

升级指南

预计升级时间:10 分钟

更新依赖

go.mod 中更新依赖:

go get -u github.com/goravel/framework@v1.9.0

新增数据库读写分离

Version: v1.9.0

数据库支持读写分离配置,详见文档

新增数据库连接池配置

Version: v1.9.0

数据库配置文件 config/database.go 新增连接池配置 pool详见文件open in new window

自定义 .env 路径

Version: v1.9.0

// 编译前
go run . --env=../.env

//编译后
./main --env=../.env

Cache 新增 Memory 驱动

Version: v1.9.0

config/cache.go 新增 memory 配置:

"stores": map[string]any{
  // 新增
  "memory": map[string]any{
    "driver": "memory",
  },
},

详见文件open in new window

Orm 新增分页方法

Version: v1.9.0

facades.Orm 新增 Paginate 方法,详见文档

新增 make 命令

Version: v1.9.0

// 创建控制器
go run . artisan make:controller UserController

// 创建 HTTP 中间件
go run . artisan make:middleware Cors

// 创建模型
go run . artisan make:model User

Response 新增方法

Version: v1.9.0

方法名作用
Data自定义返回
Redirect重定向

Request PrepareForValidation 方法新增 error 返回

Version: v1.9.0

如果您使用到了 表单验证中的 PrepareForValidation 方法,请新增返回值:PrepareForValidation(data validation.Data) error

File 获取错误的文件类型

Version: v1.9.0

修复 .docx, .xlsx 等类型错误的识别为 .zip 的问题。

修复 make:event 和 make:listener 命令生成模板有误的问题

Version: v1.9.0

import "github.com/goravel/framework/contracts/events" 改为 import "github.com/goravel/framework/contracts/event"

修复保存文件时有些类型无法获取后缀的问题

Version: v1.9.1

下面代码有些类型无法获取后缀:

file, err := ctx.Request().File()   
file.Store("upload")