从 v1.7 升级到 v1.8 
令人兴奋的新功能 🎉 
功能增强 🚀 
破坏性变化 🛠 
- 优化 import 顺序(1.8.0)
 - mock.Validator 改名(1.8.0)
 - support.Mysql 改名(1.8.0)
 - 即将废弃 database.NewGormInstance(1.8.0)
 
Bug 修复 🐛 
升级指南 
预计升级时间:1 分钟
更新依赖 
go.mod 中更新依赖:
go get -u github.com/goravel/framework@v1.8.3Orm 新增模型关联 
Version: v1.8.0
Orm 新增方法,以处理模型关联等操作:
| 方法名 | 作用 | 
|---|---|
| Association | 关联操作 | 
| DB | 获取通用数据库接口 | 
| Load | 延迟预加载 | 
| LoadMissing | 延迟预加载(不存在) | 
| Omit | 忽略关联 | 
| With | 预加载 | 
Request 新增方法 
Version: v1.8.0
ctx.Request() 新增方法,以丰富 Query 传参的格式:
| 方法名 | 作用 | 
|---|---|
QueryArray | 获取链接传入的数组参数 | 
QueryMap | 获取链接传入的 Map 参数 | 
Response 新增方法 
Version: v1.8.0
ctx.Response() 新增 Origin 方法,可以在 HTTP 中间件中获取 Response 的所有信息。
优化 import 顺序 
Version: v1.8.0
bootstrap/app.go 文件中 import 顺序修改为:
package bootstrap
import (
  "github.com/goravel/framework/foundation"
  "goravel/config"
)优化数据库迁移 
Version: v1.8.0
运行生成数据库迁移文件命令 go run . artisan make:migration create_users_table,将根据当前使用的默认数据库驱动 facades.Config.GetString("database.default") 生成对应的迁移文件。
mock.Validator 改名 
Version: v1.8.0
如果你使用了 mock.Validator 来编写单元测试,需要进行下面修改:
import "github.com/goravel/framework/testing/mock"
mock.Validator
// 修改为
import "github.com/goravel/framework/testing/mock"
mock.Validationsupport.Mysql 改名 
Version: v1.8.0
如果你使用了 support.Mysql 等框架常量来进行数据库驱动的判断,需要进行如下修改:
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.Sqlserverorm.Mysql 等新的常量为 orm.Driver 类型,可以使用 orm.Mysql.String() 方法转换为字符类型。
即将废弃 database.NewGormInstance 
Version: v1.8.0
database.NewGormInstance 方法将在 v1.9.0 被废弃,当前版本尚可使用,如果你使用了该方法获取 gorm 实例,需要进行如下修改:
import "github.com/goravel/framework/database"
gorm, err := database.NewGormInstance(connection)
// 修改为
import "github.com/goravel/framework/database/gorm"
gorm, err := gorm.New(connection)修复 Orm 并发安全的问题 
Version: v1.8.1
修复当高并发访问时,第一次读取 facades.Orm 有可能返回 Nil。
修复 Mail 不能使用 25,465 端口发送邮件的问题 
Version: v1.8.2
现在可以使用 25,465,587 发送邮件了。
Route 支持 HTTPS 
Version: v1.8.3
facades.Route 新增 RunTLS 方法,支持启动 HTTPS 服务器,详见文档。
