mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
30 lines
1.2 KiB
SQL
30 lines
1.2 KiB
SQL
DO $$ BEGIN
|
|
CREATE TYPE "external_id_type" AS ENUM('game', 'category', 'mechanic', 'publisher', 'designer', 'artist');
|
|
EXCEPTION
|
|
WHEN duplicate_object THEN null;
|
|
END $$;
|
|
--> statement-breakpoint
|
|
CREATE TABLE IF NOT EXISTS "external_ids" (
|
|
"id" varchar(255) PRIMARY KEY NOT NULL,
|
|
"type" varchar(255),
|
|
"external_id" varchar(255)
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE IF NOT EXISTS "game_external_ids" (
|
|
"game_id" varchar(255) NOT NULL,
|
|
"external_id" varchar(255) NOT NULL
|
|
);
|
|
--> statement-breakpoint
|
|
ALTER TABLE "games" DROP CONSTRAINT "games_external_id_unique";--> statement-breakpoint
|
|
ALTER TABLE "games" DROP COLUMN IF EXISTS "external_id";--> statement-breakpoint
|
|
DO $$ BEGIN
|
|
ALTER TABLE "game_external_ids" ADD CONSTRAINT "game_external_ids_game_id_games_id_fk" FOREIGN KEY ("game_id") REFERENCES "games"("id") ON DELETE cascade ON UPDATE no action;
|
|
EXCEPTION
|
|
WHEN duplicate_object THEN null;
|
|
END $$;
|
|
--> statement-breakpoint
|
|
DO $$ BEGIN
|
|
ALTER TABLE "game_external_ids" ADD CONSTRAINT "game_external_ids_external_id_external_ids_id_fk" FOREIGN KEY ("external_id") REFERENCES "external_ids"("id") ON DELETE cascade ON UPDATE no action;
|
|
EXCEPTION
|
|
WHEN duplicate_object THEN null;
|
|
END $$;
|