-- CreateTable CREATE TABLE "Recipe" ( "id" TEXT NOT NULL PRIMARY KEY, "name" TEXT NOT NULL, "description" TEXT, "instructions" TEXT, "photoUrl" TEXT, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, "updatedAt" DATETIME NOT NULL ); -- CreateTable CREATE TABLE "Ingredient" ( "id" TEXT NOT NULL PRIMARY KEY, "name" TEXT NOT NULL, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); -- CreateTable CREATE TABLE "RecipeIngredient" ( "id" TEXT NOT NULL PRIMARY KEY, "recipeId" TEXT NOT NULL, "ingredientId" TEXT NOT NULL, "quantity" REAL, "unit" TEXT, "prep" TEXT, CONSTRAINT "RecipeIngredient_recipeId_fkey" FOREIGN KEY ("recipeId") REFERENCES "Recipe" ("id") ON DELETE RESTRICT ON UPDATE CASCADE, CONSTRAINT "RecipeIngredient_ingredientId_fkey" FOREIGN KEY ("ingredientId") REFERENCES "Ingredient" ("id") ON DELETE RESTRICT ON UPDATE CASCADE ); -- CreateTable CREATE TABLE "Allergen" ( "id" TEXT NOT NULL PRIMARY KEY, "name" TEXT NOT NULL, "description" TEXT ); -- CreateTable CREATE TABLE "Menu" ( "id" TEXT NOT NULL PRIMARY KEY, "name" TEXT NOT NULL, "season" TEXT, "createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ); -- CreateTable CREATE TABLE "MenuRecipe" ( "id" TEXT NOT NULL PRIMARY KEY, "menuId" TEXT NOT NULL, "recipeId" TEXT NOT NULL, "position" INTEGER, CONSTRAINT "MenuRecipe_menuId_fkey" FOREIGN KEY ("menuId") REFERENCES "Menu" ("id") ON DELETE RESTRICT ON UPDATE CASCADE, CONSTRAINT "MenuRecipe_recipeId_fkey" FOREIGN KEY ("recipeId") REFERENCES "Recipe" ("id") ON DELETE RESTRICT ON UPDATE CASCADE ); -- CreateTable CREATE TABLE "_IngredientAllergens" ( "A" TEXT NOT NULL, "B" TEXT NOT NULL, CONSTRAINT "_IngredientAllergens_A_fkey" FOREIGN KEY ("A") REFERENCES "Allergen" ("id") ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT "_IngredientAllergens_B_fkey" FOREIGN KEY ("B") REFERENCES "Ingredient" ("id") ON DELETE CASCADE ON UPDATE CASCADE ); -- CreateIndex CREATE UNIQUE INDEX "Ingredient_name_key" ON "Ingredient"("name"); -- CreateIndex CREATE UNIQUE INDEX "Allergen_name_key" ON "Allergen"("name"); -- CreateIndex CREATE UNIQUE INDEX "_IngredientAllergens_AB_unique" ON "_IngredientAllergens"("A", "B"); -- CreateIndex CREATE INDEX "_IngredientAllergens_B_index" ON "_IngredientAllergens"("B");