35 lines
1.3 KiB
SQL
35 lines
1.3 KiB
SQL
CREATE TABLE "items" (
|
|
"id" uuid PRIMARY KEY NOT NULL,
|
|
"wishlist_id" uuid NOT NULL,
|
|
"title" text NOT NULL,
|
|
"description" text,
|
|
"link" text,
|
|
"image_url" text,
|
|
"price" numeric(10, 2),
|
|
"priority" text DEFAULT 'medium',
|
|
"is_reserved" boolean DEFAULT false NOT NULL,
|
|
"created_at" timestamp DEFAULT now() NOT NULL,
|
|
"updated_at" timestamp DEFAULT now() NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "reservations" (
|
|
"id" uuid PRIMARY KEY NOT NULL,
|
|
"item_id" uuid NOT NULL,
|
|
"reserver_name" text,
|
|
"created_at" timestamp DEFAULT now() NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "wishlists" (
|
|
"id" uuid PRIMARY KEY NOT NULL,
|
|
"title" text NOT NULL,
|
|
"description" text,
|
|
"owner_token" text NOT NULL,
|
|
"public_token" text NOT NULL,
|
|
"created_at" timestamp DEFAULT now() NOT NULL,
|
|
"updated_at" timestamp DEFAULT now() NOT NULL,
|
|
CONSTRAINT "wishlists_owner_token_unique" UNIQUE("owner_token"),
|
|
CONSTRAINT "wishlists_public_token_unique" UNIQUE("public_token")
|
|
);
|
|
--> statement-breakpoint
|
|
ALTER TABLE "items" ADD CONSTRAINT "items_wishlist_id_wishlists_id_fk" FOREIGN KEY ("wishlist_id") REFERENCES "public"."wishlists"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "reservations" ADD CONSTRAINT "reservations_item_id_items_id_fk" FOREIGN KEY ("item_id") REFERENCES "public"."items"("id") ON DELETE cascade ON UPDATE no action; |