51 lines
808 B
Makefile
51 lines
808 B
Makefile
# Makefile
|
|
.PHONY: install dev test lint format docker-build docker-up docker-down migrate
|
|
|
|
# Development setup
|
|
install:
|
|
pip install -r requirements.txt
|
|
|
|
dev:
|
|
uvicorn main:app --reload --host 0.0.0.0 --port 8000
|
|
|
|
test:
|
|
pytest -v
|
|
|
|
lint:
|
|
flake8 . --max-line-length=88 --extend-ignore=E203
|
|
mypy .
|
|
|
|
format:
|
|
black .
|
|
isort .
|
|
|
|
# Database migrations
|
|
migrate-create:
|
|
alembic revision --autogenerate -m "$(message)"
|
|
|
|
migrate-up:
|
|
alembic upgrade head
|
|
|
|
migrate-down:
|
|
alembic downgrade -1
|
|
|
|
# Docker commands
|
|
docker-build:
|
|
docker-compose build
|
|
|
|
docker-up:
|
|
docker-compose up -d
|
|
|
|
docker-down:
|
|
docker-compose down
|
|
|
|
docker-logs:
|
|
docker-compose logs -f api
|
|
|
|
# Production deployment
|
|
deploy-staging:
|
|
docker-compose -f docker-compose.staging.yml up -d
|
|
|
|
deploy-prod:
|
|
docker-compose -f docker-compose.prod.yml up -d
|