God
介绍
go God
启动: go run main.go -conf ./config/${fileName}.json
eg: go run main.go -conf ./config/local.json
软件架构
本想目采用 go gin 框架搭建,关于gin的具体使用请参照: https://github.com/gin-gonic/gin/README.md
安装教程
- 安装 go sdk 1.8+
- 安装 govendor
go get -u -v github.com/kardianos/govendor
- xxxx
使用说明
一、安装 govendor
- 将外部依赖全部加载到 vendor
govendor add +e
- 指定加载单个外部依赖到 vendor
govendor add xxxxx
- 列出当前项目的包引用情况 (可以将 e 的包都add 到vendor中)
govendor list -v fmt
- 如果使用govendor 下载新包,请用
govendor fetch ${包名}
如:govendor fetch github.com/go-sql-driver/mysql
- 如果是先修改了 vendor.json 的话,需要用下面命令同步包到vendor目录中
govendor sync
二、docker安装 mysql
-
安装docker (怎么安装自己查)
-
docker 拉取 mysql: 5.7 镜像
docker pull mysql:5.7
-
查看镜像ID
docker images
-
docker启动mysql:5.7
docker run --name mysql -p 127.0.0.1:3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d ${镜像Id}
-
查看由对应镜像启动的容器ID
docker container ls
-
进入容器
docker exec -ti ${容器Id} bash
或者winpty docker exec -ti ${容器Id} bash
-
进入mysql
mysql -h${Ip} -u${账户} -p${密码}
如果不行,则mysql -uroot -p
然后等待输入密码提示出现后,再输入密码
三、docker安装 redis
- 安装redis
docker pull redis:4.0
- 查看镜像ID
docker images
- 启动 redis
docker run --name redis -p 6379:6379 -d ${镜像ID} redis-server --appendonly yes --requirepass "123456"
- 查看由对应镜像启动的容器ID
docker container ls
- 进入容器 (用 redis-cli 登入)
docker exec -ti ${容器ID} redis-cli
或者winpty docker exec -ti ${容器ID} redis-cli
四、注意: 在连接 mysql后,执行建表语句时,报下面错误时:
ERROR 1067 (42000)/ERROR 1292 (22007) Zero Date is not Accepted by Timestamp
请先直接执行: (去除 NO_ZERO_DATE 和 NO_ZERO_IN_DATE)
set sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
然后在执行建表语句即可。
[注]: 执行 show variables like '%sql_mode%';
可以查看目前正在支持的 sql_model 的值。
五、使用工具根据sql语句直接生成go的struct 目前只支持 win/mac/linux ,查看generate_tools目录下的三个二进制文件和config.toml配置文件
windows上:
将数据库的ip(主机)、port(端口)、user(连接数据库的账户)、password(连接数据库的密码)、database(数据库名称)、out_dir(生成的go文件输出目录) 等几个选项填写完毕后,
将config.toml和gormt.exe放置同一个目录,在命令行执行: `./gormt.exe` 即可在 ${out_dir}目录下看到和数据库同名的xx.go文件,里面都是和数据表对应的struct 代码