从 v1.7 升级到 v1.8
令人兴奋的新功能 🎉
增强功能 🚀
破坏性变更 🛠
- 优化导入顺序(1.8.0)
- mock.Validator 更改名称(1.8.0)
- support.Mysql 更改名称(1.8.0)
- database.NewGormInstance 即将被弃用(1.8.0)
错误修复 🐛
升级指南
预计升级时间: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.Mysql
是 orm.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 服务器,详情。