大家好啊,GoFrame结构今天发布了v2.5.0正式版别啦!

本次版别主要是对已有功用组件以及开发工具上的改善工作。其间,开发工具新增了gf gen ctrl指令,以标准化界说、开发 API 接口,添加控制器、SDK 的代码生成提高开发功率,以处理Golang工程开发中接口层面的标准和功率问题,详情请参阅:接口标准 – gen ctrl。其他改变内容请参阅以下change logEnjoy!

Github ChangeLog:github.com/gogf/gf/rel…

完好代码改变:v2.4.0…v2.5.0,感谢本次一切的奉献开发者:

GoFrame v2.5 版本发布,企业级 Golang 开发框架

功用改善

  1. gdb

    1. 改善ORM SQL日志记载,操作的字段依照数据表字段界说顺序进行操作。
    2. 改善HOOK办法完成,支撑修正in参数的Table字段后修正履行的表名。
    3. 新增AllAndCount/ScanAndCount办法,用于完成便捷的分页查询场景。
    4. 新增Model.WhereOrNot/WhereOrPrefixNot条件办法。
  2. gi18n

    1. 改善支撑中文(Unicode)作为转译的键名。
  3. gclient

    1. 新增Discovery链式操作办法,用于设置本次恳求的服务发现组件。
  4. ghttp

    1. 改善恳求Context上下文处理,每次Context的改变将会影响底层的http.Request目标。以支撑自界说HTTP Handler的数据交互场景。
    2. 新增Endpoints装备项支撑,用于自界说Server的服务注册发现地址,而能够运用当前监听的地址。
  5. goai

    1. 改善参数校验识别,假如参数为有必要参数,则在OpenAPIv3成果中进行标记。
  6. gsel

    1. 修正RoundRobin完成中Endpoints更新的锁机制问题。
  7. glog

    1. 新增TimeFormat装备,用于自界说日志输出的时间格式:日志组件 – 装备管理
    2. 改善Rotation完成,支撑短运转程序的日志文件切分。
  8. gtag

    1. 新增GetGlobalEnums办法,用于获取全局注册的枚举类型。
  9. gutil

    1. 新增DumpJson办法,用于将任意类型变量依照JSON格式化打印到终端,便于人工阅读。
  10. gvalid

    1. 新增enums校验规则,用于完成枚举类型的主动识别和校验:数据校验 – 校验规则

社区组件

  1. 修正contrib/registry/polaris组件在多个服务端时的负载均衡问题。
  2. 改善contrib/drivers/pgsqlTableFields返回的Index字段序号一致从0开端。
  3. 改善contrib/nosql/redis新增用户装备项支撑。
  4. 改善contrib/rpc/grpcx组件,grpcx.Server新增Endpoints装备项支撑,用于自界说服务注册发现的地址。
  5. 新增contrib/sdk/httpclient组件,用于本次版别新增的gf gen ctrl指令生成的HTTP SDK代码文件依赖库。
  6. 新增contrib/trace/otlpgrpccontrib/trace/otlphttp组件,用以完成基于OpenTelemetry的链路跟踪一致对接组件。

开发工具

  1. 新增gf gen ctrl指令,用于编译api界说目录,主动生成标准的controllerHTTP SDK代码:接口标准 – gen ctrl

  2. 改善gf gen dao指令,新增TypeMapping特性,开发者可自界说数据表字段类型与生成的Go实体数据结构属性类型映射,并且能够便利引入第三方包类型(如decimal包以支撑高精度类型):数据标准 – gen dao

  3. 改善gf gen enums指令,其间的Prefix参数改为Prefixes,以支撑多个生成枚举类型的包前缀指定:枚举保护 – gen enums

  4. 改善gf gen service指令:

    • 生成的service文件中,添加办法注释生成。
    • 当生成的service文件中存在import抵触时,主动生成import alias
  5. 改善指令行封装,露出gfcmd.Command类型,便于开发者能够承继扩展自界说指令行功用。

  6. 改善gf docker指令,将构建文件参数设置为非有必要(考虑兼容),未来将会只用于Docker构建,不再耦合二进制构建功用。假如有完好构建需求,主张未来结合gf build功用一起运用。并更新项目工程模板的make image指令,运用gf build+gf docker指令完成。

  7. 改善gf init指令,修正在部分场景下初始化项目覆盖已存在的.git/.gitignore目录及文件问题或权限报错问题。

  8. 改善gf up指令,修正在部分场景下的结构版别更新问题,以及在windows体系下的下载安装问题。

  9. 改善gf version指令,修正在部分场景下的结构版别识别问题。

  10. 修正gf gen pbentity指令,生成的proto文件实体数据结构的float32/float64/[]byte类型修正为float/double/bytes类型。

  11. 改善开发工具,部分指令能够不用显示装备importPrefix参数,如:gf gen dao/service