feat: 支持从 config.yaml 读取 MySQL 配置 (#83)
This commit is contained in:
@@ -90,7 +90,7 @@ go run .
|
||||
|
||||
**这个命令是安全的**:Admin 只管理数据,不会连手机、不会下单。放心随便跑。
|
||||
|
||||
### 配置顺运宝账号(同步货运单需要,其余四个模块不需要)
|
||||
### 配置 MySQL 和顺运宝账号
|
||||
|
||||
顺运宝数据页的「同步」需要读 `admin/config.yaml`。第一次用要自己建这个文件
|
||||
(已在 `.gitignore` 里,不会被提交):
|
||||
@@ -100,7 +100,13 @@ cd D:\chengma\cmautobuy\admin
|
||||
copy config.example.yaml config.yaml
|
||||
```
|
||||
|
||||
用编辑器打开 `config.yaml`,把 `username` / `password` 改成真实的顺运宝账号密码。
|
||||
用编辑器打开 `config.yaml`:
|
||||
|
||||
- `database:` 填 MySQL 8 的地址、数据库名、账号和密码,Admin 启动必须使用;
|
||||
- `syb:` 填顺运宝账号密码,只在同步货运单时使用。
|
||||
|
||||
两个密码都是明文,只允许保存在这份被 Git 忽略的本机文件里,不得提交、打包、
|
||||
截图或粘贴到日志和工单。
|
||||
|
||||
`[必须]` 密码要加引号,纯数字密码不加引号会被 YAML 解析成整数,前导 0 也会丢:
|
||||
|
||||
@@ -159,18 +165,32 @@ syb:
|
||||
|
||||
## 6. 数据库在哪里、怎样配置
|
||||
|
||||
生产数据在 MySQL 8.4 中。Admin 从环境变量读取连接信息:
|
||||
生产数据在 MySQL 8.4 中。Windows 本地运行可以直接在被 Git 忽略的
|
||||
`admin/config.yaml` 中配置:
|
||||
|
||||
```yaml
|
||||
database:
|
||||
host: 127.0.0.1
|
||||
port: "3307"
|
||||
name: autobuy
|
||||
user: buy
|
||||
password: "从安全渠道取得"
|
||||
```
|
||||
|
||||
连接线上 MySQL 时仍通过 SSH 隧道,把 `port` 改为隧道的本地端口;禁止开放线上
|
||||
MySQL 公网端口。线上 systemd 部署继续使用环境变量:
|
||||
|
||||
```text
|
||||
CMAUTOBUY_DB_HOST=127.0.0.1
|
||||
CMAUTOBUY_DB_PORT=3307
|
||||
CMAUTOBUY_DB_NAME=<独立数据库名>
|
||||
CMAUTOBUY_DB_USER=<最小权限账号>
|
||||
CMAUTOBUY_DB_PASSWORD=<只保存在服务器环境文件中的密码>
|
||||
CMAUTOBUY_DB_PASSWORD=<从安全渠道取得>
|
||||
```
|
||||
|
||||
密码不得写入 `config.yaml`、仓库、日志或工单。线上 MySQL 只监听本机,
|
||||
本地开发通过 SSH 隧道连接独立的 `_test` 数据库。
|
||||
环境变量按字段覆盖 `config.yaml`,所以现有线上部署方式不受影响。生产环境文件和
|
||||
本地 `config.yaml` 都不得进入仓库、日志或工单;线上 MySQL 只监听本机,本地开发
|
||||
通过 SSH 隧道连接独立的 `_test` 数据库。
|
||||
|
||||
程序旁边的 `data/` 只保留日志、上传文件和迁移前的 SQLite 只读备份:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user