从 v1.11 升级到 v1.12
Last updated
Last updated
[[toc]]
请根据本节内容,一步步进行框架升级。
预计升级时间:30 分钟
go.mod
中更新依赖:
go mod tidy
将会抛出一个错误,执行完下面升级步骤即可解决。
bootstrap/app.go
facades.Artisan
facades.Artisan()
facades.Auth
facades.Auth()
facades.Cache
facades.Cache()
facades.Config
facades.Config()
facades.Crypt
facades.Crypt()
facades.Event
facades.Event()
facades.Gate
facades.Gate()
facades.Grpc
facades.Grpc()
facades.Hash
facades.Hash()
facades.Log
facades.Log()
facades.Mail
facades.Mail()
facades.Orm
facades.Orm()
facades.Queue
facades.Queue()
facades.RateLimiter
facades.RateLimiter()
facades.Route
facades.Route()
facades.Schedule
facades.Schedule()
facades.Storage
facades.Storage()
facades.Validation
facades.Validation()
app/providers/*
所有文件增加导入:
所有 Register
, Boot
方法增加 app foundation.Application
入参:
app/config/app.go
修改导入:
为 []command.Flag
中的项增加 &command.StringFlag
类型:
为减少加载不必要的第三方包,减小打包体积,提高编译效率,Goravel 将逐步剥离各模块驱动到独立扩展包。本次升级 Filesystem 模块取消对 S3
, OSS
, COS
, Minio
驱动的默认支持,转由独立扩展包提供支持。
删除 config/filesystems.go::disks
中除 local
和正在使用的驱动以外的键:
如果您用到了 local
以外的驱动,请参考对应驱动文档进行安装:
S3
https://github.com/goravel/s3
OSS
https://github.com/goravel/oss
COS
https://github.com/goravel/cos
Minio
https://github.com/goravel/minio
如果您没有使用 redis
驱动,删除 config/cache.go::stores
中的 redis
键:
如果您用到了 redis
驱动,请参考文档进行安装:
Redis
https://github.com/goravel/redis
为了使时间类型在接口输出时更加标准,CreatedAt
, UpdatedAt
类型由 time.Time
修改为 carbon.DateTime
。如果您对这两个字段进行了额外处理,可以通过 CreatedAt.ToStdTime()
方法获取原有的 time.Time
类型。
原有校验规则中对零值进行校验,例如设置规则为 date
且没有设置 required
,如果该字段为空或未传入,会提示该字段必填。优化后,将跳过校验,更符合使用直觉。如果您用到了相关校验,请确保升级后与预期一致。
运行 go mod tidy
命令。
Version: v1.12.0
Version: v1.12.0
Version: v1.12.0
Version: v1.12.0
Version: v1.12.0
为提供更好的功能支持,升级了 Goravel 依赖的所有包的版本。
Version: v1.12.0
migrate:fresh
删除所有表并重新运行所有迁移
migrate:refresh
回滚所有迁移并重新运行所有迁移
migrate:reset
回滚所有迁移
migrate:status
查询迁移状态
make
命令支持子文件夹Version: v1.12.0
make:policy User/AuthPolicy
app/policies/User/auth_policy.go
make:command Goravel/CleanCache
app/console/commands/Goravel/clean_cache.go
make:model User/Phone
app/models/User/phone.go
make:observer User/PhoneObserver
app/observers/User/phone_observer.go
make:event User/GoravelEvent
app/events/User/goravel_event.go
make:listener User/GoravelListen
app/listeners/User/goravel_listen.go
make:controller User/AuthController
app/http/controllers/User/auth_controller.go
make:middleware User/Auth
app/http/middleware/User/auth.go
make:request User/Auth
app/http/requests/User/auth.go
make:job Goravel/Job
app/jobs/Goravel/job.go
make:rule User/Phone
app/rules/User/phone.go
Version: v1.12.1
修复 windows 下,make
命令自动创建文件夹时,由于反斜杠引发 panic 的问题。
Version: v1.12.2
修复 facades.Gate() 返回 nil 的问题。
Version: v1.12.3
修复 Windows 下 make:package 命令创建的文件中的路径错误的问题。
Version: v1.12.4
修复 throttle 中间件 panic 的问题。
Goravel 中所有服务都注册到服务容器当中,为第三方包的开发提供有力的支持,。
包是向 Goravel 添加功能的主要方式,可以使 Goravel 的生态更加丰富,。
为 Artisan 模块新增获取不同类型 Flag
的方法,。
新增 path
, carbon
Helpers 方法,可以很方便的获取项目中的路径信息与进行时间处理,。