cd8e408d7e742bdce8d490192d4b99867e28eb58
tests/concurrency/ticket-status-race.test.ts fires 20 genuinely concurrent TicketsRepository.updateStatus calls from the same starting version against real Postgres. Passes on the first run, confirming (rather than assuming) 003-ticketing's existing atomic version-checked updateMany already holds under real concurrency — no implementation change needed (research.md §4). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Development
- docker compose --env-file .env.development -f docker-compose.development.yml up -d --build
Test
- docker compose --env-file .env.test -f docker-compose.test.yml up --build
Production
- docker compose --env-file .env.prod -f docker-compose.prod.yml up --build -d
Stop
- docker compose -f docker-compose.prod.yml down
List Containers
- docker compose --env-file .env.development -f docker-compose.development.yml ps
Logs
- docker compose --env-file .env.development -f docker-compose.development.yml logs -f
Database Migrations
- Local (using .env.development):
- Create/apply new migration:
npx prisma migrate dev --name <name> - Push schema directly (prototype/sync):
npx prisma db push - Deploy pending migrations:
npm run prisma:deploy
- Create/apply new migration:
- Inside Docker Container:
docker exec -it support-api-development npx prisma migrate deploy
Database Seeding
- Local:
npm run prisma:seed(ornpx tsx --env-file=.env.development prisma/seed/index.ts)
- Inside Docker Container:
docker exec -it support-api-development npm run prisma:seed
Languages
TypeScript
93.2%
PowerShell
6.5%
JavaScript
0.2%