Skip to content

Commit

Permalink
feat(cmd/gf): add typeMapping and fieldMapping support in genpbentity (
Browse files Browse the repository at this point in the history
  • Loading branch information
zishang520 authored Dec 12, 2024
1 parent 867fa71 commit 9b1b350
Showing 1 changed file with 10 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,13 @@ CONFIGURATION SUPPORT
option go_package = "protobuf/demos";
option java_package = "protobuf/demos";
option php_namespace = "protobuf/demos";
typeMapping:
json:
type: google.protobuf.Value
import: google/protobuf/struct.proto
jsonb:
type: google.protobuf.Value
import: google/protobuf/struct.proto
```
:::tip
如果使用框架推荐的项目工程脚手架,并且系统安装了 `make` 工具,也可以使用 `make pbentity` 快捷指令。
Expand All @@ -89,6 +96,8 @@ CONFIGURATION SUPPORT
| `tables` | | 指定当前数据库中需要执行代码生成的数据表。如果为空,表示数据库的所有表都会生成。 | `user, user_detail` |
| `nameCase` | `CamelLower` | 生成的 `message` 属性字段名称格式。参数可选为: `Camel``CamelLower``Snake``SnakeScreaming``SnakeFirstUpper``Kebab``KebabScreaming`。具体介绍请参考命名行帮助示例。 | `Snake` |
| `option` | | 额外的 `proto option` 配置列表 | |
| `typeMapping` | | 用于自定义数据表字段类型到生成的Go文件中对应属性类型映射 | |
| `fieldMapping` | | 用于自定义数据表具体字段到生成的Go文件中对应属性类型映射 | |

## `gen dao` 中的 `entity` 差别

Expand All @@ -100,4 +109,4 @@ CONFIGURATION SUPPORT
### 不同之处

-`GRPC` 服务中, `gen dao` 生成的 `entity` 数据结构无法提供给 `GRPC` 接口使用,因为 `GRPC` 的数据结构需要使用 `proto` 文件来定义。因此,在 `GRPC` 服务中就需要使用到 `gen pbentity` 中生成的 `pbentity proto` 文件。同时,在 `GRPC` 微服务开发中, `gen dao` 生成的 `entity` 已经没有具体作用。
- 取名 `pbentity` 而不是 `entity` 的名称,是为了防止和 `gen dao` 中的 `entity` 含义冲突。
- 取名 `pbentity` 而不是 `entity` 的名称,是为了防止和 `gen dao` 中的 `entity` 含义冲突。

0 comments on commit 9b1b350

Please sign in to comment.