从 v1.9 升级到 v1.10
Last updated
Last updated
[[toc]]
预计升级时间:20 分钟
go.mod
中更新依赖:
Version: v1.10.0
新增 facades.Crypt
:
Version: v1.10.0
新增 facades.Hash
:
Version: v1.10.0
Version: v1.10.0
facades.Route.Run
方法不再需要传参,默认读取 http.host
和 http.port
(您无需修改代码,向下兼容);
facades.Route.RunTLS
方法不再需要传参,默认读取 http.tls.host
,http.tls.port
,http.tls.ssl.cert
和 http.tls.ssl.key
,如果用到,需修改代码;
移动配置 app.url
, app.host
到 http.url
, http.host
;
Version: v1.10.0
facades.Grpc.Run
方法不再需要传参,默认读取 grpc.host
和 grpc.port
(您无需修改代码,向下兼容);
Version: v1.10.0
Version: v1.10.0
Input
方法由仅获取路由参数,修改为根据以下顺序获取数据:json
, form
, query
, route
。注意:json
只能获取一维数据,否则将返回空;
新增 Route
方法替代原有 Input
方法功能;
Query
与 Form
方法默认值修改为不必填;
新增以下方法:
Route
RouteInt
RouteInt64
QueryInt
QueryInt64
QueryBool
InputInt
InputInt64
InputBool
Json
Version: v1.10.0
Version: v1.10.0
config/database.go
中的 connection
新增键值:
prefix
:设置表名前缀; singular
:设置表名使用单数还是复数;
Version: v1.10.0
您现在可以使用以下命令快速启动服务:
Version: v1.10.0
新增以下方法:
FirstOr
FirstOrCreate
FirstOrNew
FirstOrFail
UpdateOrCreate
之前这样写报错,现在支持:
Version: v1.10.0
之前迁移文件中仅支持执行一条 SQL 语句,现在支持多条。
Version: v1.10.0
Version: v1.10.0
可以在 controller 中直接使用 http.StatusOK
等状态码,而不需要再导入 net/http
。
Version: v1.10.0
.env
文件中 APP_KEY
修改为必填项,可以通过 go run . artisan key:generate
生成。
Version: v1.10.0
表单验证的 Rules
, Messages
, Attributes
, PrepareForValidation
方法,新增 ctx http.Context
传参,使您可以进行更加自定义的配置。
Version: v1.10.0
err := facades.Auth.Parse(ctx, token)
修改为 payload, err := facades.Auth.Parse(ctx, token)
,通过 payload
您可以获取到:
Guard
: 当前 Guard;
Key
: 用户标识;
ExpireAt
: 过期时间;
IssuedAt
: 发行时间;
Version: v1.10.0
以下方法新增 *Result
返回值,以获取影响行数:
Version: v1.10.1
Orm 模型触发几个事件,允许你挂接到模型生命周期的如下节点:Retrieved
、Creating
、Created
、Updating
、Updated
、Saving
、Saved
、Deleting
、Deleted
、ForceDeleting
、ForceDeleted
。事件允许您每当特定模型保存或更新数据库时执行代码。
Version: v1.10.1
Decrement
Increment
Lock
Store
Get
, GetBool
, GetInt
, GetInt64
, GetString
, Pull
方法不再需要传递默认值(向下兼容)。
Version: v1.10.1
您可以定义一个在没有其他路由匹配传入请求时将执行的路由。
Version: v1.10.1
可以使用 db.Raw
方法进行字段的更新:
文件 providers
新增 &crypt.ServiceProvider{},
。
文件 providers
新增 &hash.ServiceProvider{},
;
新增 文件;
新增 config/http.go
配置文件,;
新增 facades.Route.RunTLSWithCert
方法,;
config/logging.go
文件中,single
, daily
channel 新增 print
配置,可以控制日志是否输出到控制台,;
新增 Delay
方法,
Model
支持指定表名,;
新增 minio 配置,。