40 lines
1.4 KiB
SQL
40 lines
1.4 KiB
SQL
-- CreateTable
|
|
CREATE TABLE `Download` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`uuid` VARCHAR(191) NOT NULL,
|
|
`url` TEXT NOT NULL,
|
|
`status` ENUM('PENDING', 'PROCESSING', 'DONE', 'FAILED', 'FILE_DELETED') NOT NULL DEFAULT 'PENDING',
|
|
`format` VARCHAR(191) NOT NULL,
|
|
`quality` VARCHAR(191) NOT NULL,
|
|
`subtitles` BOOLEAN NOT NULL DEFAULT false,
|
|
`extraArgs` TEXT NULL,
|
|
`filePath` TEXT NULL,
|
|
`fileName` VARCHAR(191) NULL,
|
|
`fileSize` BIGINT NULL,
|
|
`errorMsg` TEXT NULL,
|
|
`ipAddress` VARCHAR(191) NOT NULL,
|
|
`submittedAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
`startedAt` DATETIME(3) NULL,
|
|
`completedAt` DATETIME(3) NULL,
|
|
`deletedAt` DATETIME(3) NULL,
|
|
|
|
UNIQUE INDEX `Download_uuid_key`(`uuid`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- CreateTable
|
|
CREATE TABLE `DownloadToken` (
|
|
`id` VARCHAR(191) NOT NULL,
|
|
`downloadId` VARCHAR(191) NOT NULL,
|
|
`token` VARCHAR(191) NOT NULL,
|
|
`expiresAt` DATETIME(3) NOT NULL,
|
|
`usedAt` DATETIME(3) NULL,
|
|
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
|
|
UNIQUE INDEX `DownloadToken_token_key`(`token`),
|
|
PRIMARY KEY (`id`)
|
|
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE `DownloadToken` ADD CONSTRAINT `DownloadToken_downloadId_fkey` FOREIGN KEY (`downloadId`) REFERENCES `Download`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|