migration.sql 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. -- CreateEnum
  2. CREATE TYPE "WorkoutSetType" AS ENUM ('TIME', 'WEIGHT', 'REPS', 'BODYWEIGHT', 'NA');
  3. -- CreateEnum
  4. CREATE TYPE "WorkoutSetUnit" AS ENUM ('kg', 'lbs');
  5. -- CreateTable
  6. CREATE TABLE "WorkoutSession" (
  7. "id" TEXT NOT NULL,
  8. "userId" TEXT NOT NULL,
  9. "startedAt" TIMESTAMP(3) NOT NULL,
  10. "endedAt" TIMESTAMP(3),
  11. "duration" INTEGER,
  12. CONSTRAINT "WorkoutSession_pkey" PRIMARY KEY ("id")
  13. );
  14. -- CreateTable
  15. CREATE TABLE "WorkoutSessionExercise" (
  16. "id" TEXT NOT NULL,
  17. "workoutSessionId" TEXT NOT NULL,
  18. "exerciseId" TEXT NOT NULL,
  19. "order" INTEGER NOT NULL,
  20. CONSTRAINT "WorkoutSessionExercise_pkey" PRIMARY KEY ("id")
  21. );
  22. -- CreateTable
  23. CREATE TABLE "WorkoutSet" (
  24. "id" TEXT NOT NULL,
  25. "workoutSessionExerciseId" TEXT NOT NULL,
  26. "setIndex" INTEGER NOT NULL,
  27. "type" "WorkoutSetType" NOT NULL,
  28. "valueInt" INTEGER,
  29. "valueSec" INTEGER,
  30. "unit" "WorkoutSetUnit",
  31. "completed" BOOLEAN NOT NULL DEFAULT false,
  32. CONSTRAINT "WorkoutSet_pkey" PRIMARY KEY ("id")
  33. );
  34. -- AddForeignKey
  35. ALTER TABLE "WorkoutSession" ADD CONSTRAINT "WorkoutSession_userId_fkey" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
  36. -- AddForeignKey
  37. ALTER TABLE "WorkoutSessionExercise" ADD CONSTRAINT "WorkoutSessionExercise_workoutSessionId_fkey" FOREIGN KEY ("workoutSessionId") REFERENCES "WorkoutSession"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
  38. -- AddForeignKey
  39. ALTER TABLE "WorkoutSessionExercise" ADD CONSTRAINT "WorkoutSessionExercise_exerciseId_fkey" FOREIGN KEY ("exerciseId") REFERENCES "exercises"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
  40. -- AddForeignKey
  41. ALTER TABLE "WorkoutSet" ADD CONSTRAINT "WorkoutSet_workoutSessionExerciseId_fkey" FOREIGN KEY ("workoutSessionExerciseId") REFERENCES "WorkoutSessionExercise"("id") ON DELETE RESTRICT ON UPDATE CASCADE;