跳转到内容

从 v1.7 升级到 v1.8

令人兴奋的新功能 🎉

增强功能 🚀

破坏性变更 🛠

错误修复 🐛

升级指南

预计升级时间:1 分钟

更新依赖

更新 go.mod 文件中的依赖:

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

为 Orm 添加模型关联

版本:v1.8.0

为 Orm 添加方法,以处理模型关联:

方法操作
Association关联
DB通用数据库接口 sql.DB
Load延迟预加载
LoadMissing延迟预加载(不存在)
Omit忽略关联
With预加载

为请求添加方法

版本:v1.8.0

ctx.Request() 添加方法,以丰富 Query 参数的格式:

方法操作
QueryArray获取数组参数
QueryMap获取映射参数

为Response添加方法

版本:v1.8.0

ctx.Response()添加Origin方法,您可以在HTTP中间件中获取Response的所有信息。

详情

优化导入顺序

版本:v1.8.0

bootstrap/app.go 文件中,导入顺序更改为:

go
package bootstrap

import (
  "github.com/goravel/framework/foundation"

  "goravel/config"
)

文件链接

优化数据库迁移

版本:v1.8.0

运行生成迁移文件的命令:go run . artisan make:migration create_users_table,将根据当前使用的默认数据库驱动( facades.Config.GetString("database.default")`)生成相应的迁移文件。

mock.Validator 更名

版本:v1.8.0

如果您使用 mock.Validator 编写单元测试,需要进行以下修改:

import "github.com/goravel/framework/testing/mock"

mock.Validation

// 修改为

import "github.com/goravel/framework/testing/mock"

mock.Validation

详情

support.Mysql 更改名称

版本:v1.8.0

如果您使用框架常量如 support.Mysql 来判断数据库驱动,需要进行以下修改:

go
import "github.com/goravel/framework/database/support"

support.Mysql
support.Postgresql
support.Sqlite
support.Sqlserver

// 修改为

import "github.com/goravel/framework/contracts/database/orm"

orm.Mysql
orm.Postgresql
orm.Sqlite
orm.Sqlserver

新的常量如 orm.Mysqlorm.Driver 类型,可以通过 orm.Mysql.String() 方法转换为字符串类型。

database.NewGormInstance 即将被弃用

版本:v1.8.0

在 v1.9.0 版本中,database.NewGormInstance 方法将被弃用,但在当前版本中仍可使用。如果您使用此方法获取 gorm 实例,需要进行以下修改:

go
import "github.com/goravel/framework/database"

gorm, err := database.NewGormInstance(connection)

// 修改为

import "github.com/goravel/framework/database/gorm"

gorm, err := gorm.New(connection)

修复 Orm 并发安全问题

版本:v1.8.1

在高并发访问时,首次读取 facades.Orm 可能返回 nil。

修复 Mail 模块无法通过 25 和 465 端口发送邮件的问题

版本:v1.8.2

现在您可以通过 25、465、587 端口发送邮件。

路由支持 HTTPS

版本:v1.8.3

facades.Route 添加 RunTLS 方法,支持启动 HTTPS 服务器,详情

基于 MIT 许可发布