goframe根据数据表生成对应的proto数据结构文件,编译proto文件,生成对应的protobuf go文件以及对应的控制器文件

1、修改hack/config.yaml配置文件

gfcli:
  docker:
    build: "-a amd64 -s linux -p temp -ew"
    tagPrefixes:
      - my.image.pub/my-app
  gen:
    pbentity: 
      link: "mysql:root:root@tcp(127.0.0.1:3306)/test"
      removePrefix: "suihuo_"
      tables: "suihuo_user"
    pb:
      ctrl: "internal/controller"
    dao:
      link: "mysql:root:root@tcp(127.0.0.1:3306)/test"
      removePrefix: "suihuo_"
      tables: "suihuo_user"

2、生成对应的protobuf go文件以及对应的控制器文件【项目路径不要有中文】

# 运行命令生成 user.proto
gf gen pbentity

# 该命令用于编译proto文件,生成对应的protobuf go文件以及对应的控制器文件
# 运行之前需要在 user.proto里面加上grpc服务方法

gf gen pb

3、添加grpc服务方法

// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================

syntax = "proto3";

package user;

option go_package = "demo/api/user";

import "google/protobuf/timestamp.proto";

message User {
  int64                     Id = 1; //
  string                    Username = 2; // 用户名
  string                    Password = 3; // 密码
  string                    Salt = 4; // 盐
  google.protobuf.Timestamp CreatedAt = 5; // 创建时间
  google.protobuf.Timestamp UpdatedAt = 6; // 创建时间
  google.protobuf.Timestamp DeletedAt = 7; // 创建时间
}

message GetOneReq{
  int64 Id = 1; // v: required
}
message GetOneRes{
  User User = 1; // v: required
}

//grpc服务方法
service UserService {
  rpc getOne(GetOneReq) returns (GetOneRes){}
}