Files
2026-04-15 21:32:16 +02:00

93 lines
3.4 KiB
SQL

-- CreateTable
CREATE TABLE `Product` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`name` VARCHAR(191) NOT NULL,
`normalizedName` VARCHAR(191) NOT NULL,
`category` VARCHAR(191) NULL,
`canonicalName` VARCHAR(191) NULL,
`isActive` BOOLEAN NOT NULL DEFAULT true,
`deletedAt` DATETIME(3) NULL,
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updatedAt` DATETIME(3) NOT NULL,
UNIQUE INDEX `Product_normalizedName_key`(`normalizedName`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `InventoryItem` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`productId` INTEGER NOT NULL,
`quantity` DECIMAL(10, 2) NOT NULL,
`unit` VARCHAR(191) NOT NULL,
`brand` VARCHAR(191) NULL,
`location` VARCHAR(191) NULL,
`priority` INTEGER NULL,
`purchaseDate` DATETIME(3) NULL,
`opened` BOOLEAN NULL,
`shelfNote` VARCHAR(191) NULL,
`suitableFor` VARCHAR(191) NULL,
`isOnSale` BOOLEAN NULL,
`priceLevel` INTEGER NULL,
`bestBeforeDate` DATETIME(3) NULL,
`proteinType` VARCHAR(191) NULL,
`isLeftover` BOOLEAN NULL,
`comment` VARCHAR(191) NULL,
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updatedAt` DATETIME(3) NOT NULL,
INDEX `InventoryItem_productId_idx`(`productId`),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `InventoryConsumption` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`inventoryItemId` INTEGER NOT NULL,
`amountUsed` DECIMAL(10, 2) NOT NULL,
`comment` VARCHAR(191) NULL,
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `Recipe` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`name` VARCHAR(191) NOT NULL,
`description` VARCHAR(191) NULL,
`instructions` TEXT NULL,
`imageUrl` VARCHAR(191) NULL,
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updatedAt` DATETIME(3) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- CreateTable
CREATE TABLE `RecipeIngredient` (
`id` INTEGER NOT NULL AUTO_INCREMENT,
`recipeId` INTEGER NOT NULL,
`productId` INTEGER NOT NULL,
`quantity` DECIMAL(10, 2) NOT NULL,
`unit` VARCHAR(191) NOT NULL,
`note` VARCHAR(191) NULL,
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updatedAt` DATETIME(3) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- AddForeignKey
ALTER TABLE `InventoryItem` ADD CONSTRAINT `InventoryItem_productId_fkey` FOREIGN KEY (`productId`) REFERENCES `Product`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `InventoryConsumption` ADD CONSTRAINT `InventoryConsumption_inventoryItemId_fkey` FOREIGN KEY (`inventoryItemId`) REFERENCES `InventoryItem`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `RecipeIngredient` ADD CONSTRAINT `RecipeIngredient_recipeId_fkey` FOREIGN KEY (`recipeId`) REFERENCES `Recipe`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE `RecipeIngredient` ADD CONSTRAINT `RecipeIngredient_productId_fkey` FOREIGN KEY (`productId`) REFERENCES `Product`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;