-- DropForeignKey
ALTER TABLE `books` DROP FOREIGN KEY `books_paperTypeId_fkey`;

-- AlterTable
ALTER TABLE `books` ADD COLUMN `allowMobileRead` BOOLEAN NOT NULL DEFAULT true,
    ADD COLUMN `allowWebRead` BOOLEAN NOT NULL DEFAULT true,
    ADD COLUMN `articleContent` LONGTEXT NULL,
    ADD COLUMN `articleExcerpt` TEXT NULL,
    ADD COLUMN `likesCount` INTEGER NOT NULL DEFAULT 0,
    ADD COLUMN `readingTimeMin` INTEGER NULL,
    MODIFY `format` ENUM('PAPERBACK', 'HARDCOVER', 'EBOOK', 'AUDIOBOOK', 'ARTICLE') NOT NULL,
    MODIFY `numberOfPages` INTEGER NULL,
    MODIFY `interiorColor` ENUM('BLACK_WHITE', 'COLOR', 'MIXED', 'BW') NULL,
    MODIFY `laminationType` ENUM('GLOSS', 'MATTE', 'NONE', 'GLOSSY') NULL,
    MODIFY `heightIn` DECIMAL(5, 2) NULL,
    MODIFY `widthIn` DECIMAL(5, 2) NULL,
    MODIFY `trimSize` VARCHAR(191) NULL,
    MODIFY `manuscript` VARCHAR(191) NULL,
    MODIFY `paperTypeId` VARCHAR(191) NULL;

-- CreateTable
CREATE TABLE `book_likes` (
    `id` VARCHAR(191) NOT NULL,
    `bookId` VARCHAR(191) NOT NULL,
    `userId` VARCHAR(191) NOT NULL,
    `createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),

    INDEX `book_likes_bookId_idx`(`bookId`),
    INDEX `book_likes_userId_idx`(`userId`),
    UNIQUE INDEX `book_likes_bookId_userId_key`(`bookId`, `userId`),
    PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- CreateIndex
CREATE INDEX `books_bookType_idx` ON `books`(`bookType`);

-- AddForeignKey
ALTER TABLE `books` ADD CONSTRAINT `books_paperTypeId_fkey` FOREIGN KEY (`paperTypeId`) REFERENCES `paper_types`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE `book_likes` ADD CONSTRAINT `book_likes_bookId_fkey` FOREIGN KEY (`bookId`) REFERENCES `books`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;

-- AddForeignKey
ALTER TABLE `book_likes` ADD CONSTRAINT `book_likes_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `users`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
