19 lines
1.1 KiB
SQL
19 lines
1.1 KiB
SQL
-- Community OEM cross-reference suggestions, collected on the OEM detail page
|
|
-- ("muadil parça öner": brand + code). Primarily for codes the P snapshot has
|
|
-- no match for. suggested_code_norm (upper alphanumerics) powers grouping and
|
|
-- the per-user dedup; status is a moderation hook (active|hidden).
|
|
CREATE TABLE "oem_suggestions" (
|
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
"user_id" uuid NOT NULL,
|
|
"oem_code" varchar(100) NOT NULL,
|
|
"brand" varchar(80) NOT NULL,
|
|
"suggested_code" varchar(100) NOT NULL,
|
|
"suggested_code_norm" varchar(100) NOT NULL,
|
|
"status" varchar(16) DEFAULT 'active' NOT NULL,
|
|
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
ALTER TABLE "oem_suggestions" ADD CONSTRAINT "oem_suggestions_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
CREATE UNIQUE INDEX "oem_suggestions_user_oem_code_idx" ON "oem_suggestions" USING btree ("user_id","oem_code","suggested_code_norm");--> statement-breakpoint
|
|
CREATE INDEX "oem_suggestions_oem_code_idx" ON "oem_suggestions" USING btree ("oem_code");
|