gobay

command
v0.11.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 10, 2020 License: MIT Imports: 11 Imported by: 0

README

如何使用

生成项目文件夹

# go get github.com/shanbay/gobay/cmd/gobay
gobay new github.com/shanbay/my_proj

需要安装的一些二进制

初始化

在目录中 git initpre-commit install 来注册hooks,它会在每次commit前检查代码格式和语法。

目录结构

app目录

核心代码,包含各个server的启动和handler代码。以及models等部分的代码。大部分场景下你需要在这个目录下编写代码。

cmd目录

程序入口,gobay 可以通过参数指定运行 grpc openapi asynctask 等多种 server 中的一个 如果需要增加新的server类型,请在cmd目录下增加新的入口。

spec目录

一些扩展会生成一部分代码,这些扩展依赖某些源文件(如protobuf的proto文件、openapi的yaml文件、ent的tmpl sehema文件等)。作为约定,这些源文件统一放在spec目录下。

gen目录

一些扩展会生成一部分代码,比如openapi, protobuf, ent等,作为约定这些生成的代码统一保存在gen目录里。如果用到这些扩展需要使用相应的openapi, grpc, ent工具来生成。

生成测试

使用 gotests 为已经写好的代码生成测试,详见 gotests --help

Makefile 中的常用功能

make clean

清理临时目录

make build_debug

编译用于debug的二进制到 .build 目录

make run

debug模式运行代码

make build_release

编译用于生产环境的二进制到 .dist 目录

make test

运行测试

make coverage

运行测试并查看覆盖率网页

make coverage_fail

运行测试并检查覆盖率是否达标(Makefile中的 COVERAGE_FAIL_UNDER 变量)

make fmt

format代码

make lint

lint检查

make tidy

等同于go mod tidy

make ensure

等同于go mod download

make genswagger

根据Makefile中的 SWAGGER_SPEC(默认为spec/openapi/main.yml)来生成代码到gen目录

make entinit

用法:make ARGS="UserBook TableName TableNameTwo" entinit

会生成model的schema到spec/schema目录,需要将它补充完整。详见ent quick start

make entdesc

预览schema会生成的数据库结构

make entgen

根据schema生成代码到gen目录

贡献代码

更新 templates

更新完静态文件(templates目录),需要将静态文件打包成.go文件:

# go get github.com/markbates/pkger/cmd/pkger
pkger -include /cmd/gobay/templates -o cmd/gobay/

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL