一、goctl常用命令
常用命令:
# 升级goctl工具为最新
goctl upgrade
二、创建模板
# 模板默认生成在用户家目录里 ~/.goctl/goctl版本号/handler.tpl
goctl template init
# 模板生成在指定的目录里 --home=../goctlTpl 这里写*.proto文件的相对路径
goctl template init --home=./goctlTpl/1.6.1
三、生成model层脚本
在项目根目录新建脚本文件 genModel.sh
:
vim genModel.sh
chmnod +x genModel
生成时执行
./genModel.sh go-zero-demo user
#!/usr/bin/env bash
# 使用方法: 第一个参数为数据库名 第二个参数为表名
# ./genModel.sh go-zero-demo user
# ./genModel.sh usercenter user_auth
# 再将./genModel下的文件剪切到对应服务的model目录里面,记得改package
#生成的表名
tables=$2
#表生成的genmodel目录
modeldir=./genModel
# 数据库配置
host=127.0.0.1
port=3306
#dbname=looklook_$1
dbname=$1
username=root
passwd=123456
template=./goctlTpl/1.4.2
echo "开始创建库:$dbname 的表:$2"
# -cache=true 带缓存
#goctl model mysql datasource -url="${username}:${passwd}@tcp(${host}:${port})/${dbname}" -table="${tables}" -dir="${modeldir}/cache-model" -cache=true --style=goZero
# 不带缓存
goctl model mysql datasource -url="${username}:${passwd}@tcp(${host}:${port})/${dbname}" -table="${tables}" -dir="${modeldir}/no-cache-model" --style=goZero
# 指定模板生成 --home=
# 指定生成模板 goctl template init 会生成在~/.goctl/goctl版本号/handler.tpl 目录里 ,默认使用用户家目标里的模板
# 可以指定模板所在的目录生成 --home=${template} 这里写相对路径
#goctl model mysql datasource -url="${username}:${passwd}@tcp(${host}:${port})/${dbname}" -table="${tables}" -dir="${modeldir}/no-cache-model" --style=goZero --home=${template}
四、生成api代码命令 复制代码执行
在 user-api/api
目录中执行下面的命令
cd user-api/api
默认模板生成
alias apigen=”goctl api go -api *.api -dir ../ –style=goZero”指定生成模板 会根据当前goctl版本号自动找当前版本目标的模版,不用写到 1.4.2下
alias apigen=”goctl api go -api *.api -dir ../ –style=goZero –home=../../goctlTpl”
启动api服务
go run core.go -f etc/core-api.yaml
五、生成rpc代码命令 复制代码执行
在 user-rpc/pb
目录中执行下面的命令
cd user-rpc/pb
使用默认模板生成
alias rpcgen=”goctl rpc protoc .proto –go_out=../ –go-grpc_out=../ –zrpc_out=../ –style=goZero”
可以指定模板目标 –home=../goctlTpl 这里写.proto文件的相对路径
alias rpcgen=”goctl rpc protoc *.proto –go_out=../ –go-grpc_out=../ –zrpc_out=../ –style=goZero –home=../../goctlTpl”
windows下 *
号改成具体的文件名,如user.proto
启动rpc服务
go run corerpc.go -f etc/corerpc.yaml
最后编辑:海马 更新时间:2024-12-22 19:32