跳轉到內容

從 v1.7 升級到 v1.8

令人興奮的新功能 🎉

功能增強 🚀

破壞性變化 🛠

Bug 修復 🐛

升級指南

預估升級時間:1 分鐘

更新依賴

go.mod 文件中更新依賴:

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

Orm 新增模型關聯

版本: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.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

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 伺服器,詳情

基於 MIT 许可發佈