Makefile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. .PHONY: init dev up down db-reset db-migrate db-generate db-seed help
  2. help:
  3. @echo "🚀 Workout Cool Development Commands"
  4. @echo ""
  5. @echo "📦 Database Management:"
  6. @echo " up - Start PostgreSQL database using Docker Compose"
  7. @echo " down - Stop all Docker Compose services"
  8. @echo " db-migrate - Run Prisma migrations to update database schema"
  9. @echo " db-generate - Generate Prisma client for type-safe database access"
  10. @echo " db-reset - Reset database (⚠️ Destructive! Drops all data)"
  11. @echo " db-seed - Seed database with sample data"
  12. @echo ""
  13. @echo "🛠️ Development:"
  14. @echo " dev - Start Next.js development server"
  15. @echo " init - Full setup: start DB, run migrations, seed data, and start dev server"
  16. @echo ""
  17. @echo "Usage: make <target>"
  18. @echo "Example: make init"
  19. # Start Postgres with Docker Compose
  20. up:
  21. docker compose up -d
  22. # Stop Docker Compose
  23. down:
  24. docker compose down
  25. # Run Prisma migrations
  26. db-migrate:
  27. npx prisma migrate deploy
  28. # Generate Prisma client
  29. db-generate:
  30. npx prisma generate
  31. # Reset database (⚠️ destructive!)
  32. db-reset:
  33. npx prisma migrate reset --force
  34. # Seed database with sample data
  35. db-seed:
  36. pnpm run import:exercises-full ./data/sample-exercises.csv
  37. # Start the dev server
  38. dev:
  39. pnpm dev
  40. # Initialize dev environment (start DB, run migration, seed data, start dev server)
  41. init: up db-migrate db-seed dev