61 lines
1.4 KiB
Makefile
61 lines
1.4 KiB
Makefile
.PHONY: help install run test clean format lint db-migrate db-upgrade db-downgrade
|
|
|
|
# 默认目标
|
|
help:
|
|
@echo "可用命令:"
|
|
@echo " make install - 安装依赖"
|
|
@echo " make run - 启动开发服务器"
|
|
@echo " make test - 运行测试"
|
|
@echo " make clean - 清理缓存和临时文件"
|
|
@echo " make format - 格式化代码"
|
|
@echo " make lint - 代码检查"
|
|
@echo " make db-migrate - 创建数据库迁移"
|
|
@echo " make db-upgrade - 执行数据库迁移"
|
|
@echo " make db-downgrade - 回滚数据库迁移"
|
|
|
|
# 安装依赖
|
|
install:
|
|
pip install -r requirements.txt
|
|
|
|
# 启动开发服务器
|
|
run:
|
|
python run.py
|
|
|
|
# 运行测试
|
|
test:
|
|
pytest tests/ -v --cov=app --cov-report=html
|
|
|
|
# 清理缓存和临时文件
|
|
clean:
|
|
find . -type d -name "__pycache__" -exec rm -rf {} +
|
|
find . -type f -name "*.pyc" -delete
|
|
find . -type f -name "*.pyo" -delete
|
|
find . -type f -name "*.pyd" -delete
|
|
rm -rf .pytest_cache
|
|
rm -rf htmlcov
|
|
rm -rf .mypy_cache
|
|
rm -rf .coverage
|
|
|
|
# 格式化代码
|
|
format:
|
|
black app/ tests/
|
|
isort app/ tests/
|
|
|
|
# 代码检查
|
|
lint:
|
|
flake8 app/ tests/
|
|
mypy app/
|
|
|
|
# 创建数据库迁移
|
|
db-migrate:
|
|
@read -p "请输入迁移描述: " desc; \
|
|
alembic revision --autogenerate -m "$$desc"
|
|
|
|
# 执行数据库迁移
|
|
db-upgrade:
|
|
alembic upgrade head
|
|
|
|
# 回滚数据库迁移
|
|
db-downgrade:
|
|
alembic downgrade -1
|