從 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 新增模型關聯
版本:v1.8.0
Orm 新增方法,以處理模型關聯等操作:
| 方法 | 操作 |
|---|---|
| 關聯 | 關聯操作 |
| DB | 獲取通用資料庫接口 sql.DB |
| 負載 | 延遲預加載 |
| LoadMissing | 延遲預加載(不存在) |
| Omit | 忽略關聯 |
| With | 預加載 |
Request 新增方法
版本:v1.8.0
ctx.Request() 新增方法,以豐富 Query 參數的格式:
| 方法 | 操作 |
|---|---|
QueryArray | 獲取鏈接傳入的數組參數 |
QueryMap | 獲取地圖參數 |
為響應新增方法
版本: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.Validator
// 修改為
import "github.com/goravel/framework/testing/mock"
mock.Validationsupport.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
database.NewGormInstance 方法將在 v1.9.0 版本中被棄用,目前版本仍可使用,如果你使用該方法來獲取 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 伺服器,詳情。
