# DjangoAdmin FastAPI+EleVue 常用命令 # Windows 无 make 时可用:python -m pytest / python src/main.py 等直接执行 .PHONY: install dev test test-contract test-unit test-integration lint db-init db-migrate db-migrate-dry-run migrate-revision migrate-upgrade migrate-stamp seed-dict demo-job-loop # 安装依赖(运行 + 开发) install: pip install -r requirements.txt -r requirements-dev.txt # 启动开发服务 dev: python src/main.py # 全部测试(默认跳过 integration) test: pytest # 契约快照测试 test-contract: pytest tests/contract -m contract # 单元测试 test-unit: pytest tests/unit # 集成测试(需真实 MySQL/Redis) test-integration: pytest tests/integration -m integration # 静态检查(需 pip install ruff) lint: ruff check . # 初始化数据库(建库 + SQL 导入 + 补表 + alembic stamp) db-init: python scripts/init_db.py # 初始化业务字典数据(幂等,按 code 判重,已存在跳过) seed-dict: python scripts/seed_dict.py # 定时任务闭环演示:调度 → 执行 → 任务日志 demo-job-loop: python scripts/demo_job_loop.py # 生成增量迁移(修改模型后执行,会 diff 当前库) migrate-revision: alembic revision --autogenerate -m "描述" # 应用迁移 migrate-upgrade: alembic upgrade head # 标记当前库已到基线 migrate-stamp: alembic stamp head # 跨库数据迁移(MySQL→PostgreSQL/MSSQL/SQLite):连接参数用 ARGS 透传,如 # make db-migrate ARGS="--src-driver=mysql --src-db=... --dst-driver=postgresql --dst-db=..." db-migrate: python scripts/migrate_db.py $(ARGS) # 跨库迁移干跑:只连源、逐表数行数、打印迁移计划,不碰目标库 db-migrate-dry-run: python scripts/migrate_db.py --dry-run $(ARGS)