Files
StrengthApp/prisma/migrations/20260323202159_test1/migration.sql
2026-03-24 07:53:17 +01:00

165 lines
5.7 KiB
SQL

-- CreateTable
CREATE TABLE `user` (
`id` VARCHAR(191) NOT NULL,
`name` TEXT NOT NULL,
`email` VARCHAR(191) NOT NULL,
`emailVerified` BOOLEAN NOT NULL DEFAULT false,
`image` TEXT NULL,
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updatedAt` DATETIME(3) NOT NULL,
UNIQUE INDEX `user_email_key`(`email`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `session` (
`id` VARCHAR(191) NOT NULL,
`expiresAt` DATETIME(3) NOT NULL,
`token` VARCHAR(191) NOT NULL,
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updatedAt` DATETIME(3) NOT NULL,
`ipAddress` TEXT NULL,
`userAgent` TEXT NULL,
`userId` VARCHAR(191) NOT NULL,
INDEX `session_userId_idx`(`userId`(191)),
UNIQUE INDEX `session_token_key`(`token`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `account` (
`id` VARCHAR(191) NOT NULL,
`accountId` TEXT NOT NULL,
`providerId` TEXT NOT NULL,
`userId` VARCHAR(191) NOT NULL,
`accessToken` TEXT NULL,
`refreshToken` TEXT NULL,
`idToken` TEXT NULL,
`accessTokenExpiresAt` DATETIME(3) NULL,
`refreshTokenExpiresAt` DATETIME(3) NULL,
`scope` TEXT NULL,
`password` TEXT NULL,
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updatedAt` DATETIME(3) NOT NULL,
INDEX `account_userId_idx`(`userId`(191)),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `verification` (
`id` VARCHAR(191) NOT NULL,
`identifier` TEXT NOT NULL,
`value` TEXT NOT NULL,
`expiresAt` DATETIME(3) NOT NULL,
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updatedAt` DATETIME(3) NOT NULL,
INDEX `verification_identifier_idx`(`identifier`(191)),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Exercise` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`name` VARCHAR(191) NOT NULL,
`muscleGroup` VARCHAR(191) NOT NULL,
`SFR` DECIMAL(65, 30) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `MesoCycle` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`name` VARCHAR(191) NOT NULL,
`totalWeeks` INTEGER NOT NULL,
`currentWeek` INTEGER NOT NULL,
`isAsync` BOOLEAN NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `MesoCycleDay` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`weekday` VARCHAR(191) NULL,
`orderIndex` INTEGER NOT NULL,
`mesoCycleId` INTEGER NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `MesoCycleExercise` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`startingSets` INTEGER NOT NULL,
`orderIndex` INTEGER NOT NULL,
`mesoCycleDayId` INTEGER NOT NULL,
`exerciseId` INTEGER NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `WorkoutSession` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`weekNumber` INTEGER NOT NULL,
`isDeload` BOOLEAN NOT NULL,
`completedAt` DATETIME(3) NULL,
`mesoCycleDayId` INTEGER NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `ExerciseLog` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`sets` INTEGER NOT NULL,
`reps` INTEGER NOT NULL,
`weight` DECIMAL(65, 30) NOT NULL,
`workoutSessionId` INTEGER NOT NULL,
`mesoCycleExerciseId` INTEGER NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `SessionFeedback` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`question` VARCHAR(191) NOT NULL,
`answer` VARCHAR(191) NOT NULL,
`exerciseLogId` INTEGER NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- AddForeignKey
ALTER TABLE `session` ADD CONSTRAINT `session_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `account` ADD CONSTRAINT `account_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `user`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `MesoCycleDay` ADD CONSTRAINT `MesoCycleDay_mesoCycleId_fkey` FOREIGN KEY (`mesoCycleId`) REFERENCES `MesoCycle`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `MesoCycleExercise` ADD CONSTRAINT `MesoCycleExercise_mesoCycleDayId_fkey` FOREIGN KEY (`mesoCycleDayId`) REFERENCES `MesoCycleDay`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `MesoCycleExercise` ADD CONSTRAINT `MesoCycleExercise_exerciseId_fkey` FOREIGN KEY (`exerciseId`) REFERENCES `Exercise`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `WorkoutSession` ADD CONSTRAINT `WorkoutSession_mesoCycleDayId_fkey` FOREIGN KEY (`mesoCycleDayId`) REFERENCES `MesoCycleDay`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `ExerciseLog` ADD CONSTRAINT `ExerciseLog_workoutSessionId_fkey` FOREIGN KEY (`workoutSessionId`) REFERENCES `WorkoutSession`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `ExerciseLog` ADD CONSTRAINT `ExerciseLog_mesoCycleExerciseId_fkey` FOREIGN KEY (`mesoCycleExerciseId`) REFERENCES `MesoCycleExercise`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `SessionFeedback` ADD CONSTRAINT `SessionFeedback_exerciseLogId_fkey` FOREIGN KEY (`exerciseLogId`) REFERENCES `ExerciseLog`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;