本地开发
以下命令均在参考工程 base 根目录执行。
1. SQLite 模式(默认本地)
最快路径:
make run-monolith
等价于大致:
go run ./cmd/monolith serve
默认 HTTP 地址多为 :8080(可用环境变量覆盖,见 配置说明)。
健康/就绪(路径以仓库实际为准,常见形如):
curl -fsS http://127.0.0.1:8080/v1/readyz
2. MySQL 模式
cp .env.example .env
# 编辑 DATABASE_URL,并设置 REPOSITORY_DRIVER=sql
export REPOSITORY_DRIVER=sql
make migrate
make run-monolith
或使用会加载 .env 的目标(若 Makefile 提供):
make dev-migrate
make dev-run
3. 数据库迁移
make migrate
# 或
go run ./cmd/monolith migrate --dir deploy/migrations
迁移文件在 deploy/migrations/。
生产环境务必在发布流程中执行迁移,并做好备份与窗口计划(见 构建与部署)。
4. Smoke
仓库提供 smoke 脚本,可在已有 API_BASE 上跑,或由 Makefile 自动起临时进程:
make smoke
用于快速验证主路径是否「活着」,不能替代完整测试套件。
5. 测试
make test
# 或
go test ./...
热点改动、租户隔离、权限与资金/设备关键路径应有针对性测试。
6. MQTT 开发(可选)
make run-mqtt-dev
在本地打开 MQTT 传输适配,便于设备侧联调。细节见仓库 docs/device-mqtt-*.md。
设备模拟器(若提供):
make run-simulator
7. 常用 Make 目标(概念)
| 目标 | 作用 |
|---|---|
run-monolith | 启动完整单体 |
migrate / dev-migrate | 执行 SQL 迁移 |
smoke | 冒烟 |
test / build | 测试与构建 |
run-{module} | 多数模块未接线时应直接失败并提示用 monolith |
具体列表以仓库 Makefile 为准。
8. 本地开发检查清单
-
go version满足go.mod - 依赖可下载(含
pkg.gostartkit.com/*) -
make run-monolith能起来 -
readyz(或文档中的健康检查)通过 - 改库结构后执行了 migrate
- 未把真实密钥提交进 Git
下一步:配置说明。