hellth-hub/packages/db/drizzle/0015_recipe_submissions.sql

38 lines
2.6 KiB
MySQL
Raw Normal View History

CREATE TABLE "recipe_submissions" (
"id" text PRIMARY KEY NOT NULL,
"userId" text NOT NULL,
"name" text NOT NULL,
"portions" integer DEFAULT 1 NOT NULL,
"minutes" integer DEFAULT 0 NOT NULL,
"notes" text,
"mealPrepDays" integer DEFAULT 0 NOT NULL,
"status" text DEFAULT 'pending' NOT NULL,
"reviewNote" text,
"reviewedBy" text,
"reviewedAt" timestamp,
"acceptedRecipeId" text,
"createdAt" timestamp DEFAULT now() NOT NULL,
"updatedAt" timestamp DEFAULT now() NOT NULL
);
--> statement-breakpoint
CREATE TABLE "recipe_submission_ingredients" (
"id" text PRIMARY KEY NOT NULL,
"submissionId" text NOT NULL,
"foodId" text NOT NULL,
"amountG" numeric(8, 2) NOT NULL,
"displayAmount" numeric(8, 2),
"displayUnit" "portion_unit",
"portionId" text,
"sortOrder" integer DEFAULT 0 NOT NULL
);
--> statement-breakpoint
ALTER TABLE "recipe_submissions" ADD CONSTRAINT "recipe_submissions_userId_user_id_fk" FOREIGN KEY ("userId") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "recipe_submissions" ADD CONSTRAINT "recipe_submissions_reviewedBy_user_id_fk" FOREIGN KEY ("reviewedBy") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "recipe_submissions" ADD CONSTRAINT "recipe_submissions_acceptedRecipeId_recipes_id_fk" FOREIGN KEY ("acceptedRecipeId") REFERENCES "public"."recipes"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "recipe_submission_ingredients" ADD CONSTRAINT "recipe_submission_ingredients_submissionId_recipe_submissions_id_fk" FOREIGN KEY ("submissionId") REFERENCES "public"."recipe_submissions"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "recipe_submission_ingredients" ADD CONSTRAINT "recipe_submission_ingredients_foodId_foods_id_fk" FOREIGN KEY ("foodId") REFERENCES "public"."foods"("id") ON DELETE restrict ON UPDATE no action;--> statement-breakpoint
ALTER TABLE "recipe_submission_ingredients" ADD CONSTRAINT "recipe_submission_ingredients_portionId_food_portions_id_fk" FOREIGN KEY ("portionId") REFERENCES "public"."food_portions"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
CREATE INDEX "recipe_submissions_user_idx" ON "recipe_submissions" USING btree ("userId");--> statement-breakpoint
CREATE INDEX "recipe_submissions_status_idx" ON "recipe_submissions" USING btree ("status","createdAt");--> statement-breakpoint
CREATE INDEX "recipe_submission_ingredients_submission_idx" ON "recipe_submission_ingredients" USING btree ("submissionId");--> statement-breakpoint