Quest Domain Complete (F-004): - quest_account_request: new user registration requests - quest_notification + alert reads: notification/alert system - quest_email_event + subscriptions: email event management - quest_email_log: email tracking - quest_plant + inventory_type + inventory_plant: plant/inventory configuration - quest_processed_order_acknowledgement_email: duplicate prevention Remaining Domains Complete (F-005): Shipment Requests: - ship_request + ship_request_detail: shipment request cart workflow Allocation Requests: - alloc_request + alloc_request_detail + alloc_plant: coil allocation workflow Invoice Management: - inv_upload + inv_upload_entry + inv_upload_status: invoice upload/processing Finance/AP: - finance_ap_check_processing_batch + status: AP check processing Paint Schedule: - paint_plant + paint_line + paint_line_type + paint_plant_line + paint_schedule Documentation: - doc_category + doc_article + doc_article_permission_group: knowledge base Wave/EDI: - wave_process + wave_process_history: EDI processing Task Scheduler: - lts_task + lts_task_type + lts_task_schedule + lts_task_execution Total: 60+ tables, 600+ columns across all domains. All migrations applied successfully. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
519 lines
17 KiB
SQL
519 lines
17 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "ship_request" (
|
|
"id" TEXT NOT NULL,
|
|
"auth_user_id" TEXT NOT NULL,
|
|
"quest_company_id" TEXT NOT NULL,
|
|
"ship_to_address" TEXT NOT NULL,
|
|
"order_number" TEXT,
|
|
"po_number" TEXT,
|
|
"release_number" TEXT,
|
|
"pickup_date" TIMESTAMP(3),
|
|
"instructions" TEXT,
|
|
"email_recipients" TEXT[],
|
|
"is_submitted" BOOLEAN NOT NULL DEFAULT false,
|
|
"submitted_at" TIMESTAMP(3),
|
|
"is_cancelled" BOOLEAN NOT NULL DEFAULT false,
|
|
"cancelled_at" TIMESTAMP(3),
|
|
"cancelled_by" TEXT,
|
|
"last_cart_activity" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "ship_request_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "ship_request_detail" (
|
|
"id" TEXT NOT NULL,
|
|
"ship_request_id" TEXT NOT NULL,
|
|
"part_num" TEXT NOT NULL,
|
|
"lot_num" TEXT,
|
|
"plant" TEXT NOT NULL,
|
|
"warehouse" TEXT,
|
|
"quantity" DOUBLE PRECISION NOT NULL,
|
|
"notes" TEXT,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "ship_request_detail_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "alloc_request" (
|
|
"id" TEXT NOT NULL,
|
|
"auth_user_id" TEXT NOT NULL,
|
|
"quest_company_id" TEXT NOT NULL,
|
|
"job_number" TEXT NOT NULL,
|
|
"ship_to_address" TEXT NOT NULL,
|
|
"order_number" TEXT,
|
|
"po_number" TEXT,
|
|
"release_number" TEXT,
|
|
"pickup_date" TIMESTAMP(3),
|
|
"instructions" TEXT,
|
|
"email_recipients" TEXT[],
|
|
"is_submitted" BOOLEAN NOT NULL DEFAULT false,
|
|
"submitted_at" TIMESTAMP(3),
|
|
"is_cancelled" BOOLEAN NOT NULL DEFAULT false,
|
|
"cancelled_at" TIMESTAMP(3),
|
|
"cancelled_by" TEXT,
|
|
"last_cart_activity" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "alloc_request_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "alloc_request_detail" (
|
|
"id" TEXT NOT NULL,
|
|
"alloc_request_id" TEXT NOT NULL,
|
|
"part_num" TEXT NOT NULL,
|
|
"lot_num" TEXT,
|
|
"coil_number" TEXT,
|
|
"quantity" DOUBLE PRECISION NOT NULL,
|
|
"notes" TEXT,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "alloc_request_detail_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "alloc_plant" (
|
|
"id" TEXT NOT NULL,
|
|
"plant_code" TEXT NOT NULL,
|
|
"plant_name" TEXT NOT NULL,
|
|
"is_active" BOOLEAN NOT NULL DEFAULT true,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "alloc_plant_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "inv_upload_status" (
|
|
"id" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"sort_order" INTEGER NOT NULL DEFAULT 0,
|
|
|
|
CONSTRAINT "inv_upload_status_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "inv_upload" (
|
|
"id" TEXT NOT NULL,
|
|
"auth_user_id" TEXT NOT NULL,
|
|
"original_filename" TEXT NOT NULL,
|
|
"storage_filename" TEXT NOT NULL,
|
|
"file_path" TEXT NOT NULL,
|
|
"file_size" INTEGER NOT NULL,
|
|
"total_pages" INTEGER,
|
|
"inv_upload_status_id" TEXT NOT NULL,
|
|
"upload_notes" TEXT,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"processed_at" TIMESTAMP(3),
|
|
|
|
CONSTRAINT "inv_upload_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "inv_upload_entry" (
|
|
"id" TEXT NOT NULL,
|
|
"inv_upload_id" TEXT NOT NULL,
|
|
"invoice_number" TEXT NOT NULL,
|
|
"epicor_cust_id" TEXT,
|
|
"quest_company_id" TEXT,
|
|
"job_number" TEXT,
|
|
"page_number" INTEGER,
|
|
"storage_filename" TEXT,
|
|
"file_path" TEXT,
|
|
"is_ignored" BOOLEAN NOT NULL DEFAULT false,
|
|
"is_replaced" BOOLEAN NOT NULL DEFAULT false,
|
|
"send_error" TEXT,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"sent_at" TIMESTAMP(3),
|
|
|
|
CONSTRAINT "inv_upload_entry_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "finance_ap_check_processing_status" (
|
|
"id" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"sort_order" INTEGER NOT NULL DEFAULT 0,
|
|
|
|
CONSTRAINT "finance_ap_check_processing_status_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "finance_ap_check_processing_batch" (
|
|
"id" TEXT NOT NULL,
|
|
"auth_user_id" TEXT NOT NULL,
|
|
"group_id" TEXT NOT NULL,
|
|
"original_filename" TEXT NOT NULL,
|
|
"generated_csv_filename" TEXT,
|
|
"generated_csv_path" TEXT,
|
|
"finance_ap_check_processing_status_id" TEXT NOT NULL,
|
|
"error_message" TEXT,
|
|
"record_count" INTEGER NOT NULL DEFAULT 0,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"processed_at" TIMESTAMP(3),
|
|
|
|
CONSTRAINT "finance_ap_check_processing_batch_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "paint_line_type" (
|
|
"id" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
|
|
CONSTRAINT "paint_line_type_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "paint_plant" (
|
|
"id" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"code" TEXT NOT NULL,
|
|
"is_active" BOOLEAN NOT NULL DEFAULT true,
|
|
|
|
CONSTRAINT "paint_plant_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "paint_line" (
|
|
"id" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"paint_line_type_id" TEXT NOT NULL,
|
|
"is_active" BOOLEAN NOT NULL DEFAULT true,
|
|
|
|
CONSTRAINT "paint_line_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "paint_plant_line" (
|
|
"id" TEXT NOT NULL,
|
|
"paint_plant_id" TEXT NOT NULL,
|
|
"paint_line_id" TEXT NOT NULL,
|
|
"is_active" BOOLEAN NOT NULL DEFAULT true,
|
|
|
|
CONSTRAINT "paint_plant_line_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "paint_schedule" (
|
|
"id" TEXT NOT NULL,
|
|
"paint_line_id" TEXT NOT NULL,
|
|
"job_id" TEXT,
|
|
"part_description" TEXT,
|
|
"customer" TEXT,
|
|
"quantity" INTEGER,
|
|
"estimated_run_time" DOUBLE PRECISION,
|
|
"start_time" TIMESTAMP(3),
|
|
"notes" TEXT,
|
|
"is_complete" BOOLEAN NOT NULL DEFAULT false,
|
|
"line_speed" DOUBLE PRECISION,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "paint_schedule_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "doc_category" (
|
|
"id" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"icon" TEXT,
|
|
"sort_order" INTEGER NOT NULL DEFAULT 0,
|
|
"is_active" BOOLEAN NOT NULL DEFAULT true,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "doc_category_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "doc_article" (
|
|
"id" TEXT NOT NULL,
|
|
"title" TEXT NOT NULL,
|
|
"content" TEXT NOT NULL,
|
|
"doc_category_id" TEXT NOT NULL,
|
|
"is_published" BOOLEAN NOT NULL DEFAULT false,
|
|
"sort_order" INTEGER NOT NULL DEFAULT 0,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
"created_by" TEXT,
|
|
"updated_by" TEXT,
|
|
|
|
CONSTRAINT "doc_article_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "doc_article_permission_group" (
|
|
"id" TEXT NOT NULL,
|
|
"doc_article_id" TEXT NOT NULL,
|
|
"auth_permission_group_id" TEXT NOT NULL,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
CONSTRAINT "doc_article_permission_group_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "wave_process" (
|
|
"id" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"is_enabled" BOOLEAN NOT NULL DEFAULT true,
|
|
"schedule_cron" TEXT,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "wave_process_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "wave_process_history" (
|
|
"id" TEXT NOT NULL,
|
|
"wave_process_id" TEXT NOT NULL,
|
|
"started_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"completed_at" TIMESTAMP(3),
|
|
"status" TEXT NOT NULL DEFAULT 'running',
|
|
"result_message" TEXT,
|
|
"error_message" TEXT,
|
|
|
|
CONSTRAINT "wave_process_history_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "lts_task_type" (
|
|
"id" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
|
|
CONSTRAINT "lts_task_type_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "lts_task" (
|
|
"id" TEXT NOT NULL,
|
|
"lts_task_type_id" TEXT NOT NULL,
|
|
"name" TEXT NOT NULL,
|
|
"description" TEXT,
|
|
"command" TEXT NOT NULL,
|
|
"is_enabled" BOOLEAN NOT NULL DEFAULT true,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "lts_task_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "lts_task_schedule" (
|
|
"id" TEXT NOT NULL,
|
|
"lts_task_id" TEXT NOT NULL,
|
|
"schedule_type" TEXT NOT NULL,
|
|
"schedule_value" TEXT NOT NULL,
|
|
"timezone" TEXT NOT NULL DEFAULT 'UTC',
|
|
"is_active" BOOLEAN NOT NULL DEFAULT true,
|
|
"next_run_at" TIMESTAMP(3),
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "lts_task_schedule_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "lts_task_execution" (
|
|
"id" TEXT NOT NULL,
|
|
"lts_task_id" TEXT NOT NULL,
|
|
"started_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"completed_at" TIMESTAMP(3),
|
|
"status" TEXT NOT NULL DEFAULT 'running',
|
|
"output" TEXT,
|
|
"error_message" TEXT,
|
|
"exit_code" INTEGER,
|
|
|
|
CONSTRAINT "lts_task_execution_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "ship_request_auth_user_id_idx" ON "ship_request"("auth_user_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "ship_request_quest_company_id_idx" ON "ship_request"("quest_company_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "ship_request_is_submitted_idx" ON "ship_request"("is_submitted");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "ship_request_is_cancelled_idx" ON "ship_request"("is_cancelled");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "ship_request_detail_ship_request_id_idx" ON "ship_request_detail"("ship_request_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "alloc_request_auth_user_id_idx" ON "alloc_request"("auth_user_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "alloc_request_quest_company_id_idx" ON "alloc_request"("quest_company_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "alloc_request_job_number_idx" ON "alloc_request"("job_number");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "alloc_request_is_submitted_idx" ON "alloc_request"("is_submitted");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "alloc_request_detail_alloc_request_id_idx" ON "alloc_request_detail"("alloc_request_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "alloc_plant_plant_code_key" ON "alloc_plant"("plant_code");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "inv_upload_status_name_key" ON "inv_upload_status"("name");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "inv_upload_auth_user_id_idx" ON "inv_upload"("auth_user_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "inv_upload_inv_upload_status_id_idx" ON "inv_upload"("inv_upload_status_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "inv_upload_created_at_idx" ON "inv_upload"("created_at");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "inv_upload_entry_inv_upload_id_idx" ON "inv_upload_entry"("inv_upload_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "inv_upload_entry_invoice_number_idx" ON "inv_upload_entry"("invoice_number");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "inv_upload_entry_epicor_cust_id_idx" ON "inv_upload_entry"("epicor_cust_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "inv_upload_entry_quest_company_id_idx" ON "inv_upload_entry"("quest_company_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "finance_ap_check_processing_status_name_key" ON "finance_ap_check_processing_status"("name");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "finance_ap_check_processing_batch_auth_user_id_idx" ON "finance_ap_check_processing_batch"("auth_user_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "finance_ap_check_processing_batch_group_id_idx" ON "finance_ap_check_processing_batch"("group_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "finance_ap_check_processing_batch_finance_ap_check_processi_idx" ON "finance_ap_check_processing_batch"("finance_ap_check_processing_status_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "paint_line_type_name_key" ON "paint_line_type"("name");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "paint_plant_name_key" ON "paint_plant"("name");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "paint_plant_code_key" ON "paint_plant"("code");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "paint_line_name_key" ON "paint_line"("name");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "paint_plant_line_paint_plant_id_paint_line_id_key" ON "paint_plant_line"("paint_plant_id", "paint_line_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "paint_schedule_paint_line_id_idx" ON "paint_schedule"("paint_line_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "paint_schedule_start_time_idx" ON "paint_schedule"("start_time");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "paint_schedule_is_complete_idx" ON "paint_schedule"("is_complete");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "doc_category_name_key" ON "doc_category"("name");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "doc_article_doc_category_id_idx" ON "doc_article"("doc_category_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "doc_article_is_published_idx" ON "doc_article"("is_published");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "doc_article_permission_group_doc_article_id_auth_permission_key" ON "doc_article_permission_group"("doc_article_id", "auth_permission_group_id");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "wave_process_name_key" ON "wave_process"("name");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "wave_process_history_wave_process_id_idx" ON "wave_process_history"("wave_process_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "wave_process_history_started_at_idx" ON "wave_process_history"("started_at");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "wave_process_history_status_idx" ON "wave_process_history"("status");
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "lts_task_type_name_key" ON "lts_task_type"("name");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "lts_task_schedule_lts_task_id_idx" ON "lts_task_schedule"("lts_task_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "lts_task_schedule_next_run_at_idx" ON "lts_task_schedule"("next_run_at");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "lts_task_execution_lts_task_id_idx" ON "lts_task_execution"("lts_task_id");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "lts_task_execution_started_at_idx" ON "lts_task_execution"("started_at");
|
|
|
|
-- CreateIndex
|
|
CREATE INDEX "lts_task_execution_status_idx" ON "lts_task_execution"("status");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "ship_request_detail" ADD CONSTRAINT "ship_request_detail_ship_request_id_fkey" FOREIGN KEY ("ship_request_id") REFERENCES "ship_request"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "alloc_request_detail" ADD CONSTRAINT "alloc_request_detail_alloc_request_id_fkey" FOREIGN KEY ("alloc_request_id") REFERENCES "alloc_request"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "inv_upload" ADD CONSTRAINT "inv_upload_inv_upload_status_id_fkey" FOREIGN KEY ("inv_upload_status_id") REFERENCES "inv_upload_status"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "inv_upload_entry" ADD CONSTRAINT "inv_upload_entry_inv_upload_id_fkey" FOREIGN KEY ("inv_upload_id") REFERENCES "inv_upload"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "finance_ap_check_processing_batch" ADD CONSTRAINT "finance_ap_check_processing_batch_finance_ap_check_process_fkey" FOREIGN KEY ("finance_ap_check_processing_status_id") REFERENCES "finance_ap_check_processing_status"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "paint_line" ADD CONSTRAINT "paint_line_paint_line_type_id_fkey" FOREIGN KEY ("paint_line_type_id") REFERENCES "paint_line_type"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "paint_plant_line" ADD CONSTRAINT "paint_plant_line_paint_plant_id_fkey" FOREIGN KEY ("paint_plant_id") REFERENCES "paint_plant"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "paint_plant_line" ADD CONSTRAINT "paint_plant_line_paint_line_id_fkey" FOREIGN KEY ("paint_line_id") REFERENCES "paint_line"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "paint_schedule" ADD CONSTRAINT "paint_schedule_paint_line_id_fkey" FOREIGN KEY ("paint_line_id") REFERENCES "paint_line"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "doc_article" ADD CONSTRAINT "doc_article_doc_category_id_fkey" FOREIGN KEY ("doc_category_id") REFERENCES "doc_category"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "doc_article_permission_group" ADD CONSTRAINT "doc_article_permission_group_doc_article_id_fkey" FOREIGN KEY ("doc_article_id") REFERENCES "doc_article"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "wave_process_history" ADD CONSTRAINT "wave_process_history_wave_process_id_fkey" FOREIGN KEY ("wave_process_id") REFERENCES "wave_process"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "lts_task" ADD CONSTRAINT "lts_task_lts_task_type_id_fkey" FOREIGN KEY ("lts_task_type_id") REFERENCES "lts_task_type"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "lts_task_schedule" ADD CONSTRAINT "lts_task_schedule_lts_task_id_fkey" FOREIGN KEY ("lts_task_id") REFERENCES "lts_task"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "lts_task_execution" ADD CONSTRAINT "lts_task_execution_lts_task_id_fkey" FOREIGN KEY ("lts_task_id") REFERENCES "lts_task"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|