53 lines
1.6 KiB
SQL
53 lines
1.6 KiB
SQL
CREATE TABLE IF NOT EXISTS "books" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"name" varchar(256),
|
|
"progress" integer DEFAULT 0,
|
|
"created_at" timestamp DEFAULT now(),
|
|
"updated_at" timestamp DEFAULT now()
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE IF NOT EXISTS "certificates" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"name" varchar(256),
|
|
"progress" integer DEFAULT 0,
|
|
"created_at" timestamp DEFAULT now(),
|
|
"updated_at" timestamp DEFAULT now()
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE IF NOT EXISTS "courses" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"name" varchar(256),
|
|
"university_id" integer,
|
|
"created_at" timestamp DEFAULT now(),
|
|
"updated_at" timestamp DEFAULT now()
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE IF NOT EXISTS "publications" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"name" varchar(256),
|
|
"created_at" timestamp DEFAULT now(),
|
|
"updated_at" timestamp DEFAULT now()
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE IF NOT EXISTS "topics" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"name" varchar(256),
|
|
"emoji" varchar(256),
|
|
"created_at" timestamp DEFAULT now(),
|
|
"updated_at" timestamp DEFAULT now()
|
|
);
|
|
--> statement-breakpoint
|
|
CREATE TABLE IF NOT EXISTS "universities" (
|
|
"id" serial PRIMARY KEY NOT NULL,
|
|
"name" varchar(256),
|
|
"progress" integer DEFAULT 0,
|
|
"created_at" timestamp DEFAULT now(),
|
|
"updated_at" timestamp DEFAULT now()
|
|
);
|
|
--> statement-breakpoint
|
|
DO $$ BEGIN
|
|
ALTER TABLE "courses" ADD CONSTRAINT "courses_university_id_universities_id_fk" FOREIGN KEY ("university_id") REFERENCES "public"."universities"("id") ON DELETE no action ON UPDATE no action;
|
|
EXCEPTION
|
|
WHEN duplicate_object THEN null;
|
|
END $$;
|