summaryrefslogtreecommitdiff
path: root/db/migrations/0071_harsh_the_hand.sql
diff options
context:
space:
mode:
Diffstat (limited to 'db/migrations/0071_harsh_the_hand.sql')
-rw-r--r--db/migrations/0071_harsh_the_hand.sql49
1 files changed, 49 insertions, 0 deletions
diff --git a/db/migrations/0071_harsh_the_hand.sql b/db/migrations/0071_harsh_the_hand.sql
new file mode 100644
index 00000000..79e07d69
--- /dev/null
+++ b/db/migrations/0071_harsh_the_hand.sql
@@ -0,0 +1,49 @@
+CREATE TYPE "public"."offshore_hull_work_type" AS ENUM('HA', 'HE', 'HH', 'HM', 'NC');--> statement-breakpoint
+CREATE TYPE "public"."offshore_top_work_type" AS ENUM('TM', 'TS', 'TE', 'TP');--> statement-breakpoint
+CREATE TABLE "item_offshore_hull" (
+ "id" serial PRIMARY KEY NOT NULL,
+ "item_id" integer NOT NULL,
+ "work_type" "offshore_hull_work_type" NOT NULL,
+ "item_list1" text,
+ "item_list2" text,
+ "item_list3" text,
+ "item_list4" text,
+ "created_at" timestamp DEFAULT now() NOT NULL,
+ "updated_at" timestamp DEFAULT now() NOT NULL
+);
+--> statement-breakpoint
+CREATE TABLE "item_offshore_top" (
+ "id" serial PRIMARY KEY NOT NULL,
+ "item_id" integer NOT NULL,
+ "work_type" "offshore_top_work_type" NOT NULL,
+ "item_list1" text,
+ "item_list2" text,
+ "item_list3" text,
+ "item_list4" text,
+ "created_at" timestamp DEFAULT now() NOT NULL,
+ "updated_at" timestamp DEFAULT now() NOT NULL
+);
+--> statement-breakpoint
+CREATE TABLE "vendor_pq_submissions" (
+ "id" serial PRIMARY KEY NOT NULL,
+ "vendor_id" integer NOT NULL,
+ "project_id" integer,
+ "type" varchar(20) NOT NULL,
+ "status" varchar(20) DEFAULT 'REQUESTED' NOT NULL,
+ "submitted_at" timestamp,
+ "approved_at" timestamp,
+ "rejected_at" timestamp,
+ "reject_reason" text,
+ "created_at" timestamp DEFAULT now() NOT NULL,
+ "updated_at" timestamp DEFAULT now() NOT NULL
+);
+--> statement-breakpoint
+DROP VIEW "public"."project_approved_vendors";--> statement-breakpoint
+ALTER TABLE "item_shipbuilding" ADD COLUMN "created_at" timestamp DEFAULT now() NOT NULL;--> statement-breakpoint
+ALTER TABLE "item_shipbuilding" ADD COLUMN "updated_at" timestamp DEFAULT now() NOT NULL;--> statement-breakpoint
+ALTER TABLE "item_offshore_hull" ADD CONSTRAINT "item_offshore_hull_item_id_items_id_fk" FOREIGN KEY ("item_id") REFERENCES "public"."items"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
+ALTER TABLE "item_offshore_top" ADD CONSTRAINT "item_offshore_top_item_id_items_id_fk" FOREIGN KEY ("item_id") REFERENCES "public"."items"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
+ALTER TABLE "vendor_pq_submissions" ADD CONSTRAINT "vendor_pq_submissions_vendor_id_vendors_id_fk" FOREIGN KEY ("vendor_id") REFERENCES "public"."vendors"("id") ON DELETE cascade ON UPDATE cascade;--> statement-breakpoint
+ALTER TABLE "vendor_pq_submissions" ADD CONSTRAINT "vendor_pq_submissions_project_id_projects_id_fk" FOREIGN KEY ("project_id") REFERENCES "public"."projects"("id") ON DELETE cascade ON UPDATE cascade;--> statement-breakpoint
+CREATE UNIQUE INDEX "unique_pq_submission" ON "vendor_pq_submissions" USING btree ("vendor_id","project_id","type");--> statement-breakpoint
+CREATE VIEW "public"."project_approved_vendors" AS (select "vendors"."id", "vendors"."vendor_name", "vendors"."vendor_code", "vendors"."tax_id", "vendors"."email", "vendors"."phone", "vendors"."status", "vendor_types"."name_ko", "vendor_types"."name_en", "projects"."code", "projects"."name", "projects"."type", "vendor_pq_submissions"."submitted_at", "vendor_pq_submissions"."approved_at" from "vendors" inner join "vendor_pq_submissions" on "vendor_pq_submissions"."vendor_id" = "vendors"."id" inner join "projects" on "vendor_pq_submissions"."project_id" = "projects"."id" left join "vendor_types" on "vendors"."vendor_type_id" = "vendor_types"."id" where "vendor_pq_submissions"."status" = 'APPROVED'); \ No newline at end of file