feat: 完成数据库种子数据系统开发

- 创建完整的种子数据系统 (seed_data.sql)
- 6个用户数据 (管理员 + 5个摄影师)
- 9个分类数据 (风景、人像、建筑、街拍、艺术、宠物、食物、旅行、黑白)
- 35张照片数据 (涵盖所有分类,均衡分布)
- 自动化执行脚本 (run_seed_data.sh)
- 数据质量测试脚本 (test_seed_data.sh)
- Makefile 集成 (make seed, make test-seed, make db-status)
- 完整的使用文档 (SEED_DATA_README.md)
- 数据库备份机制,时间戳命名
- 9项自动化测试全部通过,数据质量保证

任务12完成,项目完成率达到40%
This commit is contained in:
xujiang
2025-07-11 13:24:07 +08:00
parent fa5f7a0ed2
commit 543c59bdca
6 changed files with 954 additions and 9 deletions

View File

@ -76,6 +76,34 @@ status:
@echo "API Status:"
@curl -s http://localhost:8080/api/v1/health || echo "API is not running"
# 种子数据管理
seed:
@echo "Running seed data..."
@./run_seed_data.sh
# 测试种子数据
test-seed:
@echo "Testing seed data..."
@./test_seed_data.sh
# 检查数据库状态
db-status:
@echo "Database Status:"
@if [ -f "./data/photography.db" ]; then \
echo "Database exists"; \
echo "User count: $$(sqlite3 ./data/photography.db 'SELECT COUNT(*) FROM user;')"; \
echo "Category count: $$(sqlite3 ./data/photography.db 'SELECT COUNT(*) FROM category;')"; \
echo "Photo count: $$(sqlite3 ./data/photography.db 'SELECT COUNT(*) FROM photo;')"; \
else \
echo "Database not found"; \
fi
# 重置数据库
db-reset:
@echo "Resetting database..."
@rm -f ./data/photography.db
@echo "Database reset complete. Run 'make quick' to recreate."
# 部署准备
deploy-prep: clean install lint test build
@echo "Deployment preparation complete."
@ -96,7 +124,11 @@ help:
@echo " test - Run tests"
@echo " setup - Create necessary directories"
@echo " status - Check API status"
@echo " seed - Run seed data script"
@echo " test-seed - Test seed data integrity"
@echo " db-status - Check database status"
@echo " db-reset - Reset database"
@echo " deploy-prep - Prepare for deployment"
@echo " help - Show this help message"
.PHONY: build run dev quick install gen gen-model clean lint fmt test setup status deploy-prep help
.PHONY: build run dev quick install gen gen-model clean lint fmt test setup status seed test-seed db-status db-reset deploy-prep help