命令行工具
通过使用 eagle 命令行工具,可以提高开发效率,减少手写带来的错误。
使得大家可以更加专注于业务开发。
安装
go get 方式安装
go get -v github.com/go-eagle/eagle/cmd/eagle
go install 方式安装
Go 1.16 版本以上使用该方式
go install github.com/go-eagle/eagle/cmd/eagle@latest
使用
使用前我们可以先通过查看帮助,看一下都支持什么命令
查看帮助
➜ eagle -h
Eagle: An develop kit for Go microservices.
Usage:
eagle [command]
Available Commands:
cache Generate the cache file
handler Generate the handler file
help Help about any command
model Generate the model file
new Create a project template
proto Generate the proto files
repo Generate the repo file
run Run project
svc Generate the service/svc file
task Generate the task file
upgrade Upgrade the eagle tools
Flags:
-h, --help help for eagle
-v, --version version for eagle
Use "eagle [command] --help" for more information about a command.
新建项目
主要是使用命令拉取 eagle-layout
模板项目代码来生成。
eagle new helloworld
# or
eagle new github.com/foo/helloworld
生成model
经常我们定义完数据库的表结构之后,需要来手写结构体,
字段数量少还可以,如果字段很多,手写起来可能会比较痛苦,且容易出错,
所以这里给大家提供了一个通过命令行生成的工具,使用方法如下:
使用方法
eagle model -h
Generate the model file via database table.
Usage:
eagle model [flags]
Flags:
-d, --database string database name
-f, --filename string model filename
--format string add json annotations (default)
-h, --help help for model
--host string database host addr (default "localhost")
--package string package name (default "model")
-p, --password string password for database (default "123456")
-s, --struct string model struct name
-t, --table string table name
--target-dir string model target dir (default "internal/model")
-u, --user string database username (default "root")
示例1
以生成用户model为例,设定用户表明为 user
,通过交互式来生成:
➜ eagle model 回车
? What is file name ? user.go
? What is database name ? eagle
? What is table name ? user
? What is struct name for model? UserModel
🚀 Creating model user.go, please wait a moment.
🍺 Model creation succeeded user.go
生成的 user.go
位于 internal/model
目录下。
示例2
以生成用户model为例,设定用户表明为 user_info
,通过命令行参数的方式来生成:
➜ eagle model -f=user_info.go -d=eagle -t=user_info -s=UserInfoModel -u=root -p=123456
🚀 Creating model user_info.go, please wait a moment.
🍺 Model creation succeeded user_info.go
两种方式生成的内容是一致的,大家可以根据爱好自行选择。
定义proto
使用 proto 开发主要由三大步骤
- 定义proto文件
- 生成pb代码
- 编写server代码
这一切都有工具来帮你完成,你只需要实现具体的业务逻辑即可。