Files
ai_dianshang/server/README_CONFIG.md
2025-11-17 14:11:46 +08:00

159 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 环境配置切换使用说明
本项目支持根据系统环境变量自动切换不同的配置文件,以适应开发、测试和生产环境的不同需求。
## 配置文件结构
```
configs/
├── config.yaml # 默认配置文件
├── config.dev.yaml # 开发环境配置
├── config.test.yaml # 测试环境配置
└── config.prod.yaml # 生产环境配置
```
## 环境变量设置
系统会按以下优先级检查环境变量:
1. `GO_ENV`
2. `APP_ENV`
3. `ENVIRONMENT`
如果没有设置任何环境变量默认使用开发环境development
### 支持的环境值
- `development``dev` → 使用 `config.dev.yaml`
- `test``testing` → 使用 `config.test.yaml`
- `production``prod` → 使用 `config.prod.yaml`
- 其他值 → 使用 `config.yaml`
## 使用方法
### 方法一:直接设置环境变量
**Windows (PowerShell):**
```powershell
# 开发环境
$env:GO_ENV = "development"
go run cmd/main.go
# 测试环境
$env:GO_ENV = "test"
go run cmd/main.go
# 生产环境
$env:GO_ENV = "production"
go run cmd/main.go
```
**Linux/Mac:**
```bash
# 开发环境
export GO_ENV=development
go run cmd/main.go
# 测试环境
export GO_ENV=test
go run cmd/main.go
# 生产环境
export GO_ENV=production
go run cmd/main.go
```
### 方法二:使用提供的启动脚本
**Windows:**
```cmd
start.bat
```
**Linux/Mac:**
```bash
chmod +x start.sh
./start.sh
```
启动脚本会提供交互式菜单,让你选择要启动的环境。
### 方法三:一次性设置环境变量
**Windows:**
```powershell
# 开发环境
$env:GO_ENV="development"; go run cmd/main.go
# 测试环境
$env:GO_ENV="test"; go run cmd/main.go
# 生产环境
$env:GO_ENV="production"; go run cmd/main.go
```
**Linux/Mac:**
```bash
# 开发环境
GO_ENV=development go run cmd/main.go
# 测试环境
GO_ENV=test go run cmd/main.go
# 生产环境
GO_ENV=production go run cmd/main.go
```
## 各环境配置差异
### 开发环境 (config.dev.yaml)
- 数据库:`ai_dianshang_dev`
- 服务器模式:`debug`
- 日志级别:`debug`
- Redis DB`0`
### 测试环境 (config.test.yaml)
- 数据库:`ai_dianshang_test`
- 服务器模式:`test`
- 日志级别:`info`
- Redis DB`1`
### 生产环境 (config.prod.yaml)
- 数据库:`ai_dianshang`
- 服务器模式:`release`
- 日志级别:`info`
- Redis DB`0`
- 日志输出到文件:`logs/app.prod.log`
## 配置验证
启动时,系统会自动显示当前加载的配置信息:
```
2025/10/15 16:19:39 成功加载配置文件: D:\project\Work\dianshang\server\configs\config.dev.yaml (环境: development)
2025/10/15 16:19:39 === 配置信息 ===
2025/10/15 16:19:39 环境: development
2025/10/15 16:19:39 服务器端口: 8080
2025/10/15 16:19:39 服务器模式: debug
2025/10/15 16:19:39 数据库: root@127.0.0.1:3306/ai_dianshang_dev
2025/10/15 16:19:39 Redis: localhost:6379 (DB:0)
2025/10/15 16:19:39 日志级别: debug
2025/10/15 16:19:39 微信AppID: wx430b70d696b4dbd7
2025/10/15 16:19:39 ===============
```
## 测试配置切换
可以运行测试脚本验证配置切换功能:
```bash
go run test_config_env.go
```
该脚本会测试所有环境的配置加载情况。
## 注意事项
1. 确保对应环境的数据库已创建
2. 生产环境建议使用环境变量管理敏感信息
3. 修改配置文件后需要重启应用
4. 日志文件路径需要确保目录存在且有写入权限