CREATE TABLE "tags" ( "id" serial PRIMARY KEY NOT NULL, "name" text NOT NULL, "created_at" timestamp DEFAULT now() NOT NULL, CONSTRAINT "tags_name_unique" UNIQUE("name") ); --> statement-breakpoint CREATE TABLE "global_item_tags" ( "global_item_id" integer NOT NULL, "tag_id" integer NOT NULL, CONSTRAINT "global_item_tags_global_item_id_tag_id_pk" PRIMARY KEY("global_item_id","tag_id") ); --> statement-breakpoint ALTER TABLE "items" ADD COLUMN "global_item_id" integer;--> statement-breakpoint ALTER TABLE "items" ADD COLUMN "purchase_price_cents" integer;--> statement-breakpoint ALTER TABLE "items" ADD COLUMN "brand" text;--> statement-breakpoint ALTER TABLE "thread_candidates" ADD COLUMN "global_item_id" integer;--> statement-breakpoint ALTER TABLE "oauth_codes" ADD COLUMN "user_id" integer NOT NULL DEFAULT 0;--> statement-breakpoint ALTER TABLE "oauth_codes" ALTER COLUMN "user_id" DROP DEFAULT;--> statement-breakpoint ALTER TABLE "oauth_codes" ADD CONSTRAINT "oauth_codes_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."users"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint UPDATE "items" SET "global_item_id" = ( SELECT "global_item_id" FROM "item_global_links" WHERE "item_global_links"."item_id" = "items"."id" ); --> statement-breakpoint ALTER TABLE "item_global_links" DISABLE ROW LEVEL SECURITY;--> statement-breakpoint DROP TABLE "item_global_links" CASCADE;--> statement-breakpoint ALTER TABLE "global_item_tags" ADD CONSTRAINT "global_item_tags_global_item_id_global_items_id_fk" FOREIGN KEY ("global_item_id") REFERENCES "public"."global_items"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "global_item_tags" ADD CONSTRAINT "global_item_tags_tag_id_tags_id_fk" FOREIGN KEY ("tag_id") REFERENCES "public"."tags"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "items" ADD CONSTRAINT "items_global_item_id_global_items_id_fk" FOREIGN KEY ("global_item_id") REFERENCES "public"."global_items"("id") ON DELETE no action ON UPDATE no action;--> statement-breakpoint ALTER TABLE "thread_candidates" ADD CONSTRAINT "thread_candidates_global_item_id_global_items_id_fk" FOREIGN KEY ("global_item_id") REFERENCES "public"."global_items"("id") ON DELETE no action ON UPDATE no action;