1.3 KiB
1.3 KiB
LSFX Mock 数据库环境变量修复记录
本次改动
- 修复 NAS 部署后
lsfx-mock-server未注入员工库连接参数的问题。 - 在根目录
docker-compose.yml的lsfx-mock-server服务中补充:CCDI_DB_HOSTCCDI_DB_PORTCCDI_DB_NAMECCDI_DB_USERNAMECCDI_DB_PASSWORD
- 在根目录
.env.example中补充对应示例值,便于后续按环境覆盖。 - 新增部署配置测试,保证 Mock 容器必须携带上述数据库参数默认值。
根因说明
lsfx-mock-server在容器内启动时没有CCDI_DB_*环境变量。config/settings.py在容器内无法从主项目配置路径解析出数据库默认值,最终得到空字符串主机名。PyMySQL在主机名为空时退化为按localhost建连,容器内没有本地 MySQL,因此上传接口调用员工库时报Can't connect to MySQL server on 'localhost'。
变更文件
docker-compose.yml.env.exampletests/deploy/test_lsfx_mock_deploy_config.py
验证结果
python3 -m pytest tests/deploy -q- 重新执行
bash deploy/deploy-to-nas.sh - 容器内读取
settings.CCDI_DB_HOST,结果为192.168.0.111 - 容器内执行数据库
SELECT 1成功 - 调用
POST /watson/api/project/remoteUploadSplitFile返回200 OK