56 lines
2.0 KiB
MySQL
56 lines
2.0 KiB
MySQL
|
CREATE TABLE IF NOT EXISTS "groups" (
|
||
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
||
|
"user_id" uuid,
|
||
|
"email" text NOT NULL,
|
||
|
"name" text NOT NULL,
|
||
|
CONSTRAINT "groups_email_unique" UNIQUE("email")
|
||
|
);
|
||
|
--> statement-breakpoint
|
||
|
CREATE TABLE IF NOT EXISTS "letters" (
|
||
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
||
|
"sender" text NOT NULL,
|
||
|
"content" text NOT NULL,
|
||
|
"group_id" uuid NOT NULL,
|
||
|
"date_created" date DEFAULT now() NOT NULL
|
||
|
);
|
||
|
--> statement-breakpoint
|
||
|
CREATE TABLE IF NOT EXISTS "sources" (
|
||
|
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
||
|
"group_id" uuid NOT NULL,
|
||
|
"name" text NOT NULL,
|
||
|
"is_confirmed" boolean DEFAULT false NOT NULL
|
||
|
);
|
||
|
--> statement-breakpoint
|
||
|
ALTER TABLE "pods" DROP CONSTRAINT "pods_user_id_users_id_fk";
|
||
|
--> statement-breakpoint
|
||
|
ALTER TABLE "pods" ADD COLUMN "group_id" uuid;--> statement-breakpoint
|
||
|
DO $$ BEGIN
|
||
|
ALTER TABLE "pods" ADD CONSTRAINT "pods_group_id_groups_id_fk" FOREIGN KEY ("group_id") REFERENCES "groups"("id") ON DELETE no action ON UPDATE no action;
|
||
|
EXCEPTION
|
||
|
WHEN duplicate_object THEN null;
|
||
|
END $$;
|
||
|
--> statement-breakpoint
|
||
|
DO $$ BEGIN
|
||
|
ALTER TABLE "pods" ADD CONSTRAINT "pods_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE no action ON UPDATE no action;
|
||
|
EXCEPTION
|
||
|
WHEN duplicate_object THEN null;
|
||
|
END $$;
|
||
|
--> statement-breakpoint
|
||
|
DO $$ BEGIN
|
||
|
ALTER TABLE "groups" ADD CONSTRAINT "groups_user_id_users_id_fk" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE no action ON UPDATE no action;
|
||
|
EXCEPTION
|
||
|
WHEN duplicate_object THEN null;
|
||
|
END $$;
|
||
|
--> statement-breakpoint
|
||
|
DO $$ BEGIN
|
||
|
ALTER TABLE "letters" ADD CONSTRAINT "letters_group_id_groups_id_fk" FOREIGN KEY ("group_id") REFERENCES "groups"("id") ON DELETE no action ON UPDATE no action;
|
||
|
EXCEPTION
|
||
|
WHEN duplicate_object THEN null;
|
||
|
END $$;
|
||
|
--> statement-breakpoint
|
||
|
DO $$ BEGIN
|
||
|
ALTER TABLE "sources" ADD CONSTRAINT "sources_group_id_groups_id_fk" FOREIGN KEY ("group_id") REFERENCES "groups"("id") ON DELETE no action ON UPDATE no action;
|
||
|
EXCEPTION
|
||
|
WHEN duplicate_object THEN null;
|
||
|
END $$;
|