配置环境

File Config

YAML

cwgo配置文件默认使用YAML格式

proto下面的结构:

  • dev:开发环境配置
  • online:生产环境配置
  • test:测试环境配置

JSON

TOML

Env Config

Linux env

例子:修改默认的APP_ENV从test环境到online环境

1
export APP_ENV=online

.env file

定义一个.env文件来加载

Docker env

1
ENV GO_ENV=online

MySQL根据环境读取配置

由于我们使用的是test环境,修改test下的配置,这里用MySQL的配置为例:

1
2
mysql:
dsn: "%s:%s@tcp(%s:3306)/%s?charset=utf8mb4&parseTime=True&loc=Local"

然后去biz/dal/mysql/init.go里修改读取模式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
func Init() {
dsn := fmt.Sprintf(conf.GetConf().MySQL.DSN,
os.Getenv("MYSQL_USER"),
os.Getenv("MYSQL_PASSWORD"),
os.Getenv("MYSQL_HOST"),
os.Getenv("MYSQL_DATABASE"),
)
DB, err = gorm.Open(mysql.Open(dsn),
&gorm.Config{
PrepareStmt: true,
SkipDefaultTransaction: true,
},
)
if err != nil {
panic(err)
}
}