GoFrame
框架发布了v2
版本,这是一个里程碑版本,包含了很多新功能特性和大量改进,并且发布了一些开创性的特性。
如果是新用户,请直接使用v2
起飞。如果是老用户,墙裂推荐从v1
升级为v2
,更加稳定可靠。
v2
升级的几点重要说明:
Golang
官方module
管理的规范,我们将import
路径变化了,因此需要全局替换import
路径。gredis
组件由于支持集群化,因此配置发生了变化,这块需要注意。我们没有提供升级工具,因为我们觉得提供升级指导即可。 |
为了保证项目兼容性,能够同时依赖v1
和v2
版本,因此我们发布了v1
最后一个版本v1.16.7
,大家有需要可以升级。并且解决了client_tracing.go:73:3: undefined: attribute.Any
的常见问题。但同时依赖两个版本的GoFrame
可能会降低项目维护性,因此建议大家尽快升级到v2
版本。
全局替换源代码即可,规则如下:
"github.com/gogf/gf/ => "github.com/gogf/gf/v2/ |
像这样:
go get -u github.com/gogf/gf/v2@latest |
如果您使用的是GoFrame
官方推荐的工程目录结构,可以参考最新的工程目录结构手动调整即可:工程目录设计🔥
需要注意的是,最新的cli
工具不再支持旧版工程目录的项目创建。
运行您的项目,如果遇到编译问题,根据错误提示进行手动修改,如此循环。
如果您不知道如何修改,请在本文档评论,我们的社区团队小伙伴将会及时给与升级帮助。
swagger
命令。v1
版本的gf swagger
命令时通过自动安装第三方的swag
工具,解析源代码中的注释生成的swagger
文档。这种文档的管理维护方式会有一些问题:仅支持Swagger2.0
协议、使用体验很差、注释难以和代码同步维护,造成接口文档与代码不一致的问题。新版本有了规范路由,该命令即废弃掉了。如果需要继续使用该命令的功能,可以手动安装使用第三方swag
工具:https://github.com/swaggo/swagupdate
命令。v2
版本开始,CLI
工具的安装下载统一走github
,以减少CLI
工具的维护工作量。后续可能会重新增加该命令。gf-cli
的仓库已经搬迁到了gf
主库维护,便于保证工具与框架版本同步。原有仓库不再维护。具体请查看说明:https://github.com/gogf/gf/tree/master/cmd/gfgvar
泛型,以提高易用性、屏蔽底层的具体类型实现。为保证稳定性和易用性,框架在未来2-3
年内不会考虑使用Golang
官方泛型。官方泛型在框架部分组件的部分特性下有改造价值。