- 新增 domain 层:model、provider、route、stats 实体 - 新增 service 层:models、providers、routing、stats 业务逻辑 - 新增 repository 层:models、providers、stats 数据访问 - 新增 pkg 工具包:errors、logger、validator - 新增中间件:CORS、logging、recovery、request ID - 新增数据库迁移:初始 schema 和索引 - 新增单元测试和集成测试 - 新增规范文档:config-management、database-migration、error-handling、layered-architecture、middleware-system、request-validation、structured-logging、test-coverage - 移除 config 子包和 model_router(已迁移至分层架构)
46 lines
841 B
Makefile
46 lines
841 B
Makefile
.PHONY: build run test test-coverage clean migrate-up migrate-down migrate-status migrate-create lint
|
|
|
|
# 构建
|
|
build:
|
|
go build -o bin/server ./cmd/server
|
|
|
|
# 运行
|
|
run:
|
|
go run ./cmd/server
|
|
|
|
# 测试
|
|
test:
|
|
go test ./... -v
|
|
|
|
# 测试覆盖率
|
|
test-coverage:
|
|
go test ./... -coverprofile=coverage.out
|
|
go tool cover -html=coverage.out -o coverage.html
|
|
@echo "Coverage report generated: coverage.html"
|
|
|
|
# 清理
|
|
clean:
|
|
rm -rf bin/ coverage.out coverage.html
|
|
|
|
# 数据库迁移
|
|
migrate-up:
|
|
goose -dir migrations sqlite3 $(DB_PATH) up
|
|
|
|
migrate-down:
|
|
goose -dir migrations sqlite3 $(DB_PATH) down
|
|
|
|
migrate-status:
|
|
goose -dir migrations sqlite3 $(DB_PATH) status
|
|
|
|
migrate-create:
|
|
@read -p "Migration name: " name; \
|
|
goose -dir migrations create $$name sql
|
|
|
|
# 代码检查
|
|
lint:
|
|
golangci-lint run ./...
|
|
|
|
# 安装依赖
|
|
deps:
|
|
go mod tidy
|