-- CreateTable
CREATE TABLE `TextImportReference` (
    `reference` VARCHAR(100) NOT NULL,
    `importId` VARCHAR(36) NOT NULL,
    `recordIndex` INTEGER NOT NULL,
    `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),

    INDEX `TextImportReference_importId_idx`(`importId`),
    PRIMARY KEY (`reference`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- CreateTable
CREATE TABLE `TextDraft` (
    `id` VARCHAR(36) NOT NULL,
    `userId` INTEGER NOT NULL,
    `title` VARCHAR(120) NOT NULL,
    `text` TEXT NOT NULL,
    `version` INTEGER NOT NULL DEFAULT 1,
    `importId` VARCHAR(36) NULL,
    `commitKey` VARCHAR(100) NULL,
    `committedVersion` INTEGER NULL,
    `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
    `updatedAt` DATETIME(3) NOT NULL,

    INDEX `TextDraft_userId_updatedAt_id_idx`(`userId`, `updatedAt`, `id`),
    PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- AddForeignKey
ALTER TABLE `TextImportReference` ADD CONSTRAINT `TextImportReference_importId_fkey` FOREIGN KEY (`importId`) REFERENCES `TextImport`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE `TextDraft` ADD CONSTRAINT `TextDraft_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE `TextDraft` ADD CONSTRAINT `TextDraft_importId_fkey` FOREIGN KEY (`importId`) REFERENCES `TextImport`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
