Iris-ridge项目yml配置文件默认位于config/dev/或config/prod/下,若无环境子目录则直接置于config/;struct字段须严格按yml key驼峰命名并加yaml tag;加载需在main.go中InitConfig()调用LoadYamlConfig,且须在iris.New()前执行。

确认Iris-ridge项目中yml配置文件存放路径
打开项目根目录,进入 config 文件夹,检查是否存在 dev 或 prod 子目录;若存在,说明项目已按环境分离配置,database.yml、app.yml 等应位于对应环境目录下。
若无环境子目录,则直接查找 config/database.yml 和 config/app.yml —— 这是 Iris-ridge 默认加载的两个核心 yml 配置文件位置。
在 struct 中定义与 yml 结构严格匹配的字段
进入 config/abstract/structs/ 目录,创建或编辑 database.go:
声明结构体时,字段名必须与 yml 中 key 的驼峰命名规则完全一致(如 yml 中写 max_open_conns,Go struct 字段必须为 MaxOpenConns int `yaml:"max_open_conns"`);否则解析失败且无报错提示,值将保持零值。
所有字段必须导出(首字母大写),并添加 yaml:"xxx" tag。嵌套结构需逐层定义,例如 yml 中 redis: host: 127.0.0.1; port: 6379,则需定义 Redis RedisConfig `yaml:"redis"` 及对应的 RedisConfig 结构体。
调用 LoadYamlConfig 方法完成加载
打开 config/abstract/abstract.go,找到 InitConfig() 函数。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
在函数体内插入一行:LoadYamlConfig("database", &DatabaseConfig),其中 "database" 是不带扩展名的文件名(对应 database.yml),&DatabaseConfig 是上一步定义的 struct 变量地址。
同理加载 app 配置:LoadYamlConfig("app", &AppConfig)。注意:该方法会自动拼接路径为 config/{env}/{filename}.yml,env 值由 os.Getenv("APP_ENV") 决定,默认为 "dev"。
在业务代码中安全使用已加载的配置
在 controller 或 service 中,直接引用全局变量 config.DatabaseConfig.MaxOpenConns 即可获取值。
首次调用 config.InitConfig() 必须在 main.go 的 iris.New() 之前完成;若在路由注册后才初始化,可能导致部分 handler 启动时读取到未初始化的零值。
修改 yml 后需重启服务——Iris-ridge 不支持热重载 yml 配置。

















