跳到主要内容

本地开发

以下命令均在参考工程 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

下一步:配置说明