mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-05-24 02:02:36 -04:00
28 lines
1.6 KiB
SQL
28 lines
1.6 KiB
SQL
CREATE TYPE "kyoo"."role_kind" AS ENUM('actor', 'director', 'writter', 'producer', 'music', 'other');--> statement-breakpoint
|
|
CREATE TABLE "kyoo"."roles" (
|
|
"pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."roles_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
|
"show_pk" integer NOT NULL,
|
|
"staff_pk" integer NOT NULL,
|
|
"kind" "kyoo"."role_kind" NOT NULL,
|
|
"order" integer NOT NULL,
|
|
"character" jsonb
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE "kyoo"."staff" (
|
|
"pk" integer PRIMARY KEY GENERATED ALWAYS AS IDENTITY (sequence name "kyoo"."staff_pk_seq" INCREMENT BY 1 MINVALUE 1 MAXVALUE 2147483647 START WITH 1 CACHE 1),
|
|
"id" uuid DEFAULT gen_random_uuid() NOT NULL,
|
|
"slug" varchar(255) NOT NULL,
|
|
"name" text NOT NULL,
|
|
"latin_name" text,
|
|
"image" jsonb,
|
|
"external_id" jsonb DEFAULT '{}'::jsonb NOT NULL,
|
|
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
"updated_at" timestamp with time zone NOT NULL,
|
|
CONSTRAINT "staff_id_unique" UNIQUE("id"),
|
|
CONSTRAINT "staff_slug_unique" UNIQUE("slug")
|
|
);
|
|
--> statement-breakpoint
|
|
ALTER TABLE "kyoo"."roles" ADD CONSTRAINT "roles_show_pk_shows_pk_fk" FOREIGN KEY ("show_pk") REFERENCES "kyoo"."shows"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
ALTER TABLE "kyoo"."roles" ADD CONSTRAINT "roles_staff_pk_staff_pk_fk" FOREIGN KEY ("staff_pk") REFERENCES "kyoo"."staff"("pk") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
CREATE INDEX "role_kind" ON "kyoo"."roles" USING hash ("kind");--> statement-breakpoint
|
|
CREATE INDEX "role_order" ON "kyoo"."roles" USING btree ("order"); |