-- CreateTable CREATE TABLE `lesson_supplements` ( `id` VARCHAR(191) NOT NULL, `user_id` VARCHAR(191) NOT NULL, `request_id` VARCHAR(80) NOT NULL, `quantity` INTEGER NOT NULL, `membership_id` VARCHAR(191) NULL, `deducted_times` INTEGER NOT NULL DEFAULT 0, `card_name` VARCHAR(191) NULL, `remark` VARCHAR(200) NULL, `operator_id` VARCHAR(191) NOT NULL, `operator_name` VARCHAR(191) NOT NULL, `created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), `revoked_at` DATETIME(3) NULL, `revoked_by` VARCHAR(191) NULL, INDEX `lesson_supplements_user_id_revoked_at_created_at_idx`(`user_id`, `revoked_at`, `created_at`), UNIQUE INDEX `lesson_supplements_user_id_request_id_key`(`user_id`, `request_id`), PRIMARY KEY (`id`) ) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- AddForeignKey ALTER TABLE `lesson_supplements` ADD CONSTRAINT `lesson_supplements_user_id_fkey` FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE; -- AddForeignKey ALTER TABLE `lesson_supplements` ADD CONSTRAINT `lesson_supplements_membership_id_fkey` FOREIGN KEY (`membership_id`) REFERENCES `memberships`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;