65 lines
2.5 KiB
SQL
65 lines
2.5 KiB
SQL
-- AlterTable
|
|
ALTER TABLE `posts` ADD COLUMN `required_participant` INTEGER NULL;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `schedules` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`post_id` VARCHAR(191) NOT NULL,
|
|
`user_id` VARCHAR(191) NULL,
|
|
`date` DATETIME(3) NOT NULL,
|
|
`start_time` VARCHAR(191) NOT NULL,
|
|
`end_time` VARCHAR(191) NOT NULL,
|
|
`participant_count` INTEGER NOT NULL DEFAULT 0,
|
|
`max_participants` INTEGER NOT NULL DEFAULT 3,
|
|
`is_available` BOOLEAN NOT NULL DEFAULT true,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
INDEX `post_id`(`post_id`),
|
|
UNIQUE INDEX `schedules_post_id_date_start_time_end_time_key`(`post_id`, `date`, `start_time`, `end_time`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `reviews` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`post_id` VARCHAR(191) NOT NULL,
|
|
`user_id` VARCHAR(191) NOT NULL,
|
|
`rating` INTEGER NOT NULL DEFAULT 0,
|
|
`comment` VARCHAR(191) NULL,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
INDEX `post_id`(`post_id`),
|
|
INDEX `user_id`(`user_id`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `participants` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`post_id` VARCHAR(191) NOT NULL,
|
|
`user_id` VARCHAR(191) NOT NULL,
|
|
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
INDEX `post_id`(`post_id`),
|
|
INDEX `user_id`(`user_id`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `schedules` ADD CONSTRAINT `schedules_post_id_fkey` FOREIGN KEY (`post_id`) REFERENCES `posts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `schedules` ADD CONSTRAINT `schedules_user_id_fkey` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `reviews` ADD CONSTRAINT `reviews_post_id_fkey` FOREIGN KEY (`post_id`) REFERENCES `posts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `reviews` ADD CONSTRAINT `reviews_user_id_fkey` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `participants` ADD CONSTRAINT `participants_post_id_fkey` FOREIGN KEY (`post_id`) REFERENCES `posts`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `participants` ADD CONSTRAINT `participants_user_id_fkey` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|