Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
70 views

Create Schemas Script

The document details the creation of database tables and sequences. It first creates sequences and then defines tables for catalog, events, inventory import results, location mappings, manufacturer tenants, orders, order events, and payments. Primary keys are added to each table and sequence ownership is set. Finally, Quartz job scheduling tables are created.

Uploaded by

Stephen Efange
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
70 views

Create Schemas Script

The document details the creation of database tables and sequences. It first creates sequences and then defines tables for catalog, events, inventory import results, location mappings, manufacturer tenants, orders, order events, and payments. Primary keys are added to each table and sequence ownership is set. Finally, Quartz job scheduling tables are created.

Uploaded by

Stephen Efange
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 13

1.

Create the desired Database

2.Create Tables

create schema oms;


DROP SEQUENCE IF EXISTS "oms"."catalog_id_seq";
DROP SEQUENCE IF EXISTS "oms"."inventory_import_result_id_seq";
DROP SEQUENCE IF EXISTS "oms"."location_mapping_id_seq";
DROP SEQUENCE IF EXISTS "oms"."payment_payment_id_seq";
DROP TABLE IF EXISTS "oms"."catalog";
DROP TABLE IF EXISTS "oms"."events";
DROP TABLE IF EXISTS "oms"."inventory_import_result";
DROP TABLE IF EXISTS "oms"."location_mapping";
DROP TABLE IF EXISTS "oms"."manufacturer_to_tenant";
DROP TABLE IF EXISTS "oms"."ngorder";
DROP TABLE IF EXISTS "oms"."oms_events";
DROP TABLE IF EXISTS "oms"."payment";
CREATE SEQUENCE "oms"."catalog_id_seq"
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
CREATE SEQUENCE "oms"."inventory_import_result_id_seq"
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
CREATE SEQUENCE "oms"."location_mapping_id_seq"
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
CREATE SEQUENCE "oms"."payment_payment_id_seq"
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
CREATE TABLE "oms"."catalog" (
"id" int4 NOT NULL DEFAULT nextval('oms.catalog_id_seq'::regclass),
"tenant_id" int4 NOT NULL DEFAULT NULL,
"oms_catalog" int4 NOT NULL DEFAULT NULL,
"ng_catalog" int4 NOT NULL DEFAULT NULL,
"site_id" int4 NOT NULL DEFAULT NULL
)
;
CREATE TABLE "oms"."events" (
"eventid" char(36) COLLATE "pg_catalog"."default" NOT NULL DEFAULT NULL,
"entityid" char(32) COLLATE "pg_catalog"."default" NOT NULL DEFAULT NULL,
"topic" text COLLATE "pg_catalog"."default" NOT NULL DEFAULT NULL,
"tenantid" int4 NOT NULL DEFAULT NULL,
"siteid" int4 NOT NULL DEFAULT NULL,
"createdatetime" timestamp(6) NOT NULL DEFAULT NULL,
"retrievedatetime" timestamp(6) DEFAULT NULL,
"updatedatetime" timestamp(6) NOT NULL DEFAULT NULL,
"status" int4 DEFAULT NULL,
"message" text COLLATE "pg_catalog"."default" DEFAULT NULL,
"numattempts" int4 DEFAULT 0
)
;
CREATE TABLE "oms"."inventory_import_result" (
"id" int4 NOT NULL DEFAULT
nextval('oms.inventory_import_result_id_seq'::regclass),
"tenant_id" int4 NOT NULL DEFAULT NULL,
"success" bool NOT NULL DEFAULT NULL,
"error_message" varchar(256) COLLATE "pg_catalog"."default" DEFAULT NULL,
"create_date" timestamp(6) NOT NULL DEFAULT NULL
)
;
CREATE TABLE "oms"."location_mapping" (
"id" int4 NOT NULL DEFAULT nextval('oms.location_mapping_id_seq'::regclass),
"tenant_id" int4 NOT NULL DEFAULT NULL,
"ng_location_code" varchar(50) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL,
"oms_location_code" int4 NOT NULL DEFAULT NULL,
"oms_location_name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL
)
;
CREATE TABLE "oms"."manufacturer_to_tenant" (
"manufacturer_id" int4 NOT NULL DEFAULT NULL,
"tenant_id" int4 NOT NULL DEFAULT NULL
)
;
CREATE TABLE "oms"."ngorder" (
"ngid" varchar(10) COLLATE "pg_catalog"."default" DEFAULT NULL,
"omsid" int4 DEFAULT NULL,
"createdatetime" timestamp(6) DEFAULT NULL,
"mfgid" int4 DEFAULT NULL
)
;
CREATE TABLE "oms"."oms_events" (
"event_type_id" varchar(16) COLLATE "pg_catalog"."default" NOT NULL DEFAULT NULL,
"order_id" int4 NOT NULL DEFAULT NULL,
"shipment_id" int4 NOT NULL DEFAULT NULL,
"tenant_id" int4 NOT NULL DEFAULT NULL,
"create_date_time" timestamp(6) NOT NULL DEFAULT NULL,
"update_date_time" timestamp(6) NOT NULL DEFAULT NULL,
"processed" bool NOT NULL DEFAULT NULL
)
;
CREATE TABLE "oms"."payment" (
"payment_id" int4 NOT NULL DEFAULT
nextval('oms.payment_payment_id_seq'::regclass),
"ng_gateway" text COLLATE "pg_catalog"."default" DEFAULT NULL,
"oms_gateway" text COLLATE "pg_catalog"."default" DEFAULT NULL,
"authorization_id" text COLLATE "pg_catalog"."default" DEFAULT NULL,
"token" text COLLATE "pg_catalog"."default" DEFAULT NULL
)
;
ALTER TABLE "oms"."catalog" ADD CONSTRAINT "catalog_pkey" PRIMARY KEY ("id");
ALTER TABLE "oms"."events" ADD CONSTRAINT "events_pkey" PRIMARY KEY ("eventid");
ALTER TABLE "oms"."inventory_import_result" ADD CONSTRAINT
"inventory_import_result_pkey" PRIMARY KEY ("id");
ALTER TABLE "oms"."location_mapping" ADD CONSTRAINT "location_mapping_pkey" PRIMARY
KEY ("id");
ALTER TABLE "oms"."manufacturer_to_tenant" ADD CONSTRAINT
"manufacturer_to_tenant_pkey" PRIMARY KEY ("manufacturer_id");
ALTER TABLE "oms"."oms_events" ADD CONSTRAINT "oms_events_pkey" PRIMARY KEY
("event_type_id", "order_id", "shipment_id");
ALTER TABLE "oms"."payment" ADD CONSTRAINT "payment_pkey" PRIMARY KEY
("payment_id");
ALTER SEQUENCE "oms"."catalog_id_seq"
OWNED BY "oms"."catalog"."id";
SELECT setval('"oms"."catalog_id_seq"', 18, true);
ALTER SEQUENCE "oms"."inventory_import_result_id_seq"
OWNED BY "oms"."inventory_import_result"."id";
SELECT setval('"oms"."inventory_import_result_id_seq"', 2, true);
ALTER SEQUENCE "oms"."location_mapping_id_seq"
OWNED BY "oms"."location_mapping"."id";
SELECT setval('"oms"."location_mapping_id_seq"', 8, true);
ALTER SEQUENCE "oms"."payment_payment_id_seq"
OWNED BY "oms"."payment"."payment_id";
SELECT setval('"oms"."payment_payment_id_seq"', 3, true);

DROP TABLE IF EXISTS "qrtzjobs"."qrtz_blob_triggers";


DROP TABLE IF EXISTS "qrtzjobs"."qrtz_calendars";
DROP TABLE IF EXISTS "qrtzjobs"."qrtz_cron_triggers";
DROP TABLE IF EXISTS "qrtzjobs"."qrtz_fired_triggers";
DROP TABLE IF EXISTS "qrtzjobs"."qrtz_job_details";
DROP TABLE IF EXISTS "qrtzjobs"."qrtz_locks";
DROP TABLE IF EXISTS "qrtzjobs"."qrtz_paused_trigger_grps";
DROP TABLE IF EXISTS "qrtzjobs"."qrtz_scheduler_state";
DROP TABLE IF EXISTS "qrtzjobs"."qrtz_simple_triggers";
DROP TABLE IF EXISTS "qrtzjobs"."qrtz_simprop_triggers";
DROP TABLE IF EXISTS "qrtzjobs"."qrtz_triggers";
CREATE TABLE "qrtzjobs"."qrtz_blob_triggers" (
"sched_name" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_group" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"blob_data" bytea
)
;ALTER TABLE "qrtzjobs"."qrtz_blob_triggers" OWNER TO "sa";
CREATE TABLE "qrtzjobs"."qrtz_calendars" (
"sched_name" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"calendar_name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"calendar" bytea NOT NULL
)
;ALTER TABLE "qrtzjobs"."qrtz_calendars" OWNER TO "sa";
CREATE TABLE "qrtzjobs"."qrtz_cron_triggers" (
"sched_name" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_group" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"cron_expression" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"time_zone_id" varchar(80) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying
)
;ALTER TABLE "qrtzjobs"."qrtz_cron_triggers" OWNER TO "sa";
CREATE TABLE "qrtzjobs"."qrtz_fired_triggers" (
"sched_name" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"entry_id" varchar(95) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_group" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"instance_name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"fired_time" int8 NOT NULL,
"sched_time" int8 NOT NULL,
"priority" int4 NOT NULL,
"state" varchar(16) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"job_name" varchar(200) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"job_group" varchar(200) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"is_nonconcurrent" bool,
"requests_recovery" bool
)
;ALTER TABLE "qrtzjobs"."qrtz_fired_triggers" OWNER TO "sa";
CREATE TABLE "qrtzjobs"."qrtz_job_details" (
"sched_name" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"job_name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"job_group" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"description" varchar(250) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"job_class_name" varchar(250) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"is_durable" bool NOT NULL,
"is_nonconcurrent" bool NOT NULL,
"is_update_data" bool NOT NULL,
"requests_recovery" bool NOT NULL,
"job_data" bytea
)
;ALTER TABLE "qrtzjobs"."qrtz_job_details" OWNER TO "sa";
CREATE TABLE "qrtzjobs"."qrtz_locks" (
"sched_name" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"lock_name" varchar(40) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying
)
;ALTER TABLE "qrtzjobs"."qrtz_locks" OWNER TO "sa";
CREATE TABLE "qrtzjobs"."qrtz_paused_trigger_grps" (
"sched_name" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_group" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying
)
;ALTER TABLE "qrtzjobs"."qrtz_paused_trigger_grps" OWNER TO "sa";
CREATE TABLE "qrtzjobs"."qrtz_scheduler_state" (
"sched_name" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"instance_name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"last_checkin_time" int8 NOT NULL,
"checkin_interval" int8 NOT NULL
)
;ALTER TABLE "qrtzjobs"."qrtz_scheduler_state" OWNER TO "sa";
CREATE TABLE "qrtzjobs"."qrtz_simple_triggers" (
"sched_name" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_group" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"repeat_count" int8 NOT NULL,
"repeat_interval" int8 NOT NULL,
"times_triggered" int8 NOT NULL
)
;ALTER TABLE "qrtzjobs"."qrtz_simple_triggers" OWNER TO "sa";
CREATE TABLE "qrtzjobs"."qrtz_simprop_triggers" (
"sched_name" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_group" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"str_prop_1" varchar(512) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"str_prop_2" varchar(512) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"str_prop_3" varchar(512) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"int_prop_1" int4,
"int_prop_2" int4,
"long_prop_1" int8,
"long_prop_2" int8,
"dec_prop_1" numeric(13,4) DEFAULT NULL::numeric,
"dec_prop_2" numeric(13,4) DEFAULT NULL::numeric,
"bool_prop_1" bool,
"bool_prop_2" bool
)
;ALTER TABLE "qrtzjobs"."qrtz_simprop_triggers" OWNER TO "sa";
CREATE TABLE "qrtzjobs"."qrtz_triggers" (
"sched_name" varchar(120) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_group" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"job_name" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"job_group" varchar(200) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"description" varchar(250) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"next_fire_time" int8,
"prev_fire_time" int8,
"priority" int4,
"trigger_state" varchar(16) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"trigger_type" varchar(8) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"start_time" int8 NOT NULL,
"end_time" int8,
"calendar_name" varchar(200) COLLATE "pg_catalog"."default" DEFAULT
NULL::character varying,
"misfire_instr" int2,
"job_data" bytea
)
;ALTER TABLE "qrtzjobs"."qrtz_triggers" OWNER TO "sa";

ALTER TABLE "qrtzjobs"."qrtz_blob_triggers" ADD CONSTRAINT


"qrtz_blob_triggers_pkey" PRIMARY KEY ("sched_name", "trigger_name",
"trigger_group");
ALTER TABLE "qrtzjobs"."qrtz_cron_triggers" ADD CONSTRAINT
"qrtz_cron_triggers_pkey" PRIMARY KEY ("sched_name", "trigger_name",
"trigger_group");
ALTER TABLE "qrtzjobs"."qrtz_calendars" ADD CONSTRAINT "qrtz_calendars_pkey"
PRIMARY KEY ("sched_name", "calendar_name");
ALTER TABLE "qrtzjobs"."qrtz_fired_triggers" ADD CONSTRAINT
"qrtz_fired_triggers_pkey" PRIMARY KEY ("sched_name", "entry_id");
ALTER TABLE "qrtzjobs"."qrtz_job_details" ADD CONSTRAINT "qrtz_job_details_pkey"
PRIMARY KEY ("sched_name", "job_name", "job_group");
ALTER TABLE "qrtzjobs"."qrtz_locks" ADD CONSTRAINT "qrtz_locks_pkey" PRIMARY KEY
("sched_name", "lock_name");
ALTER TABLE "qrtzjobs"."qrtz_paused_trigger_grps" ADD CONSTRAINT
"qrtz_paused_trigger_grps_pkey" PRIMARY KEY ("sched_name", "trigger_group");
ALTER TABLE "qrtzjobs"."qrtz_scheduler_state" ADD CONSTRAINT
"qrtz_scheduler_state_pkey" PRIMARY KEY ("sched_name", "instance_name");
ALTER TABLE "qrtzjobs"."qrtz_simple_triggers" ADD CONSTRAINT
"qrtz_simple_triggers_pkey" PRIMARY KEY ("sched_name", "trigger_name",
"trigger_group");
ALTER TABLE "qrtzjobs"."qrtz_triggers" ADD CONSTRAINT "qrtz_triggers_pkey" PRIMARY
KEY ("sched_name", "trigger_name", "trigger_group");
ALTER TABLE "qrtzjobs"."qrtz_simprop_triggers" ADD CONSTRAINT
"qrtz_simprop_triggers_pkey" PRIMARY KEY ("sched_name", "trigger_name",
"trigger_group");

ALTER TABLE "qrtzjobs"."qrtz_blob_triggers" ADD CONSTRAINT


"qrtz_blob_triggers_sched_name_fkey" FOREIGN KEY ("sched_name", "trigger_name",
"trigger_group") REFERENCES "qrtzjobs"."qrtz_triggers" ("sched_name",
"trigger_name", "trigger_group") ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE "qrtzjobs"."qrtz_cron_triggers" ADD CONSTRAINT
"qrtz_cron_triggers_sched_name_fkey" FOREIGN KEY ("sched_name", "trigger_name",
"trigger_group") REFERENCES "qrtzjobs"."qrtz_triggers" ("sched_name",
"trigger_name", "trigger_group") ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE "qrtzjobs"."qrtz_simple_triggers" ADD CONSTRAINT
"qrtz_simple_triggers_sched_name_fkey" FOREIGN KEY ("sched_name", "trigger_name",
"trigger_group") REFERENCES "qrtzjobs"."qrtz_triggers" ("sched_name",
"trigger_name", "trigger_group") ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE "qrtzjobs"."qrtz_simprop_triggers" ADD CONSTRAINT
"qrtz_simprop_triggers_sched_name_fkey" FOREIGN KEY ("sched_name", "trigger_name",
"trigger_group") REFERENCES "qrtzjobs"."qrtz_triggers" ("sched_name",
"trigger_name", "trigger_group") ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE "qrtzjobs"."qrtz_triggers" ADD CONSTRAINT
"qrtz_triggers_sched_name_fkey" FOREIGN KEY ("sched_name", "job_name", "job_group")
REFERENCES "qrtzjobs"."qrtz_job_details" ("sched_name", "job_name", "job_group") ON
DELETE NO ACTION ON UPDATE NO ACTION;

CREATE INDEX "idx_qrtz_ft_inst_job_req_rcvry" ON "qrtzjobs"."qrtz_fired_triggers"


USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"instance_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"requests_recovery" "pg_catalog"."bool_ops" ASC NULLS LAST
);
CREATE INDEX "idx_qrtz_ft_j_g" ON "qrtzjobs"."qrtz_fired_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"job_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
"job_group" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
);
CREATE INDEX "idx_qrtz_ft_jg" ON "qrtzjobs"."qrtz_fired_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"job_group" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
);
CREATE INDEX "idx_qrtz_ft_t_g" ON "qrtzjobs"."qrtz_fired_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_group" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST
);
CREATE INDEX "idx_qrtz_ft_tg" ON "qrtzjobs"."qrtz_fired_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_group" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST
);
CREATE INDEX "idx_qrtz_ft_trig_inst_name" ON "qrtzjobs"."qrtz_fired_triggers" USING
btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"instance_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST
);

CREATE INDEX "idx_qrtz_j_grp" ON "qrtzjobs"."qrtz_job_details" USING btree (


"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"job_group" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
);
CREATE INDEX "idx_qrtz_j_req_recovery" ON "qrtzjobs"."qrtz_job_details" USING btree
(
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"requests_recovery" "pg_catalog"."bool_ops" ASC NULLS LAST
);

CREATE INDEX "idx_qrtz_t_c" ON "qrtzjobs"."qrtz_triggers" USING btree (


"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"calendar_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST
);
CREATE INDEX "idx_qrtz_t_g" ON "qrtzjobs"."qrtz_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_group" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST
);
CREATE INDEX "idx_qrtz_t_j" ON "qrtzjobs"."qrtz_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"job_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
"job_group" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
);
CREATE INDEX "idx_qrtz_t_jg" ON "qrtzjobs"."qrtz_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"job_group" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
);
CREATE INDEX "idx_qrtz_t_n_g_state" ON "qrtzjobs"."qrtz_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_group" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_state" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST
);
CREATE INDEX "idx_qrtz_t_n_state" ON "qrtzjobs"."qrtz_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_group" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_state" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST
);
CREATE INDEX "idx_qrtz_t_next_fire_time" ON "qrtzjobs"."qrtz_triggers" USING btree
(
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"next_fire_time" "pg_catalog"."int8_ops" ASC NULLS LAST
);
CREATE INDEX "idx_qrtz_t_nft_misfire" ON "qrtzjobs"."qrtz_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"misfire_instr" "pg_catalog"."int2_ops" ASC NULLS LAST,
"next_fire_time" "pg_catalog"."int8_ops" ASC NULLS LAST
);
CREATE INDEX "idx_qrtz_t_nft_st" ON "qrtzjobs"."qrtz_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_state" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"next_fire_time" "pg_catalog"."int8_ops" ASC NULLS LAST
);
CREATE INDEX "idx_qrtz_t_nft_st_misfire" ON "qrtzjobs"."qrtz_triggers" USING btree
(
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"misfire_instr" "pg_catalog"."int2_ops" ASC NULLS LAST,
"next_fire_time" "pg_catalog"."int8_ops" ASC NULLS LAST,
"trigger_state" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST
);
CREATE INDEX "idx_qrtz_t_nft_st_misfire_grp" ON "qrtzjobs"."qrtz_triggers" USING
btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"misfire_instr" "pg_catalog"."int2_ops" ASC NULLS LAST,
"next_fire_time" "pg_catalog"."int8_ops" ASC NULLS LAST,
"trigger_group" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_state" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST
);
CREATE INDEX "idx_qrtz_t_state" ON "qrtzjobs"."qrtz_triggers" USING btree (
"sched_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST,
"trigger_state" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS
LAST
);

create schema springbatch;

DROP SEQUENCE IF EXISTS "springbatch"."batch_job_execution_seq";


DROP SEQUENCE IF EXISTS "springbatch"."batch_job_seq";
DROP SEQUENCE IF EXISTS "springbatch"."batch_step_execution_seq";
DROP TABLE IF EXISTS "springbatch"."batch_job_execution";
DROP TABLE IF EXISTS "springbatch"."batch_job_execution_context";
DROP TABLE IF EXISTS "springbatch"."batch_job_execution_params";
DROP TABLE IF EXISTS "springbatch"."batch_job_instance";
DROP TABLE IF EXISTS "springbatch"."batch_step_execution";
DROP TABLE IF EXISTS "springbatch"."batch_step_execution_context";
DROP TABLE IF EXISTS "springbatch"."skip_items";
CREATE SEQUENCE "springbatch"."batch_job_execution_seq"
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
CREATE SEQUENCE "springbatch"."batch_job_seq"
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
CREATE SEQUENCE "springbatch"."batch_step_execution_seq"
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 1
CACHE 1;
CREATE TABLE "springbatch"."batch_job_execution" (
"job_execution_id" int8 NOT NULL DEFAULT NULL,
"version" int8 DEFAULT NULL,
"job_instance_id" int8 NOT NULL DEFAULT NULL,
"create_time" timestamp(6) NOT NULL DEFAULT NULL::timestamp without time zone,
"start_time" timestamp(6) DEFAULT NULL::timestamp without time zone,
"end_time" timestamp(6) DEFAULT NULL::timestamp without time zone,
"status" varchar(10) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"exit_code" varchar(2500) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"exit_message" varchar(2500) COLLATE "pg_catalog"."default" DEFAULT
NULL::character varying,
"last_updated" timestamp(6) DEFAULT NULL::timestamp without time zone,
"job_configuration_location" varchar(2500) COLLATE "pg_catalog"."default" DEFAULT
NULL::character varying
)
;
CREATE TABLE "springbatch"."batch_job_execution_context" (
"job_execution_id" int8 NOT NULL DEFAULT NULL,
"short_context" varchar(2500) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"serialized_context" text COLLATE "pg_catalog"."default" DEFAULT NULL
)
;
CREATE TABLE "springbatch"."batch_job_execution_params" (
"job_execution_id" int8 NOT NULL DEFAULT NULL,
"type_cd" varchar(6) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"key_name" varchar(100) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"string_val" varchar(250) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"date_val" timestamp(6) DEFAULT NULL::timestamp without time zone,
"long_val" int8 DEFAULT NULL,
"double_val" float8 DEFAULT NULL,
"identifying" char(1) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::bpchar
)
;
CREATE TABLE "springbatch"."batch_job_instance" (
"job_instance_id" int8 NOT NULL DEFAULT NULL,
"version" int8 DEFAULT NULL,
"job_name" varchar(100) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"job_key" varchar(32) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying
)
;
CREATE TABLE "springbatch"."batch_step_execution" (
"step_execution_id" int8 NOT NULL DEFAULT NULL,
"version" int8 NOT NULL DEFAULT NULL,
"step_name" varchar(100) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"job_execution_id" int8 NOT NULL DEFAULT NULL,
"start_time" timestamp(6) NOT NULL DEFAULT NULL::timestamp without time zone,
"end_time" timestamp(6) DEFAULT NULL::timestamp without time zone,
"status" varchar(10) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"commit_count" int8 DEFAULT NULL,
"read_count" int8 DEFAULT NULL,
"filter_count" int8 DEFAULT NULL,
"write_count" int8 DEFAULT NULL,
"read_skip_count" int8 DEFAULT NULL,
"write_skip_count" int8 DEFAULT NULL,
"process_skip_count" int8 DEFAULT NULL,
"rollback_count" int8 DEFAULT NULL,
"exit_code" varchar(2500) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"exit_message" varchar(2500) COLLATE "pg_catalog"."default" DEFAULT
NULL::character varying,
"last_updated" timestamp(6) DEFAULT NULL::timestamp without time zone
)
;
CREATE TABLE "springbatch"."batch_step_execution_context" (
"step_execution_id" int8 NOT NULL DEFAULT NULL,
"short_context" varchar(2500) COLLATE "pg_catalog"."default" NOT NULL DEFAULT
NULL::character varying,
"serialized_context" text COLLATE "pg_catalog"."default" DEFAULT NULL
)
;
CREATE TABLE "springbatch"."skip_items" (
"type" varchar(32) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"item" varchar(500) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"msg" varchar(500) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying,
"runid" int8 DEFAULT NULL,
"jobexecutionid" int8 NOT NULL DEFAULT NULL,
"stepexecutionid" int8 DEFAULT NULL,
"jobname" varchar(100) COLLATE "pg_catalog"."default" DEFAULT NULL::character
varying
)
;
ALTER TABLE "springbatch"."batch_job_execution" ADD CONSTRAINT
"batch_job_execution_pkey" PRIMARY KEY ("job_execution_id");
ALTER TABLE "springbatch"."batch_job_instance" ADD CONSTRAINT "job_inst_un" UNIQUE
("job_name", "job_key");
ALTER TABLE "springbatch"."batch_job_instance" ADD CONSTRAINT
"batch_job_instance_pkey" PRIMARY KEY ("job_instance_id");
ALTER TABLE "springbatch"."batch_job_execution" ADD CONSTRAINT "job_inst_exec_fk"
FOREIGN KEY ("job_instance_id") REFERENCES "springbatch"."batch_job_instance"
("job_instance_id") ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE "springbatch"."batch_job_execution_context" ADD CONSTRAINT
"batch_job_execution_context_pkey" PRIMARY KEY ("job_execution_id");
ALTER TABLE "springbatch"."batch_job_execution_context" ADD CONSTRAINT
"job_exec_ctx_fk" FOREIGN KEY ("job_execution_id") REFERENCES
"springbatch"."batch_job_execution" ("job_execution_id") ON DELETE NO ACTION ON
UPDATE NO ACTION;
ALTER TABLE "springbatch"."batch_job_execution_params" ADD CONSTRAINT
"job_exec_params_fk" FOREIGN KEY ("job_execution_id") REFERENCES
"springbatch"."batch_job_execution" ("job_execution_id") ON DELETE NO ACTION ON
UPDATE NO ACTION;
ALTER TABLE "springbatch"."batch_step_execution" ADD CONSTRAINT
"batch_step_execution_pkey" PRIMARY KEY ("step_execution_id");
ALTER TABLE "springbatch"."batch_step_execution" ADD CONSTRAINT "job_exec_step_fk"
FOREIGN KEY ("job_execution_id") REFERENCES "springbatch"."batch_job_execution"
("job_execution_id") ON DELETE NO ACTION ON UPDATE NO ACTION;
ALTER TABLE "springbatch"."batch_step_execution_context" ADD CONSTRAINT
"batch_step_execution_context_pkey" PRIMARY KEY ("step_execution_id");
ALTER TABLE "springbatch"."batch_step_execution_context" ADD CONSTRAINT
"step_exec_ctx_fk" FOREIGN KEY ("step_execution_id") REFERENCES
"springbatch"."batch_step_execution" ("step_execution_id") ON DELETE NO ACTION ON
UPDATE NO ACTION;
SELECT setval('"springbatch"."batch_job_execution_seq"', 4234, true);
SELECT setval('"springbatch"."batch_job_seq"', 4234, true);
SELECT setval('"springbatch"."batch_step_execution_seq"', 8467, true);

3. Create service accounts

3. Create roles using postgres

--create role db_reader;


--create role db_writer;
--create role db_executor;

--grant db_reader to svc_appcommerce_qa;


--grant db_writer to svc_appcommerce_qa;
--grant db_executor to svc_appcommerce_qa;
--grant sa to svc_fabric_qa;

DO
$$
DECLARE
reader name := 'db_reader';
writer name := 'db_writer';
executor name := 'db_executor';
-- dbname name = 'integrations'; -- specify database name here
tablename name;
schemaname name;
sequencename name;
BEGIN
-- Grant Table Permissions--
FOR tablename IN
SELECT table_name
FROM information_schema.tables
WHERE table_schema != 'information_schema'
and table_name not like 'pg%'
and table_name not like '%aws%'
LOOP
EXECUTE format('GRANT SELECT ON TABLE %I to %I;', tablename, reader);
-- EXECUTE format('GRANT CONNECT ON DATABASE %I TO %I;', dbname, reader);
EXECUTE format('GRANT INSERT, UPDATE, DELETE, TRUNCATE, TRIGGER, REFERENCES
ON TABLE %I to %I;', tablename, writer);
END LOOP;
-- Grant Sequence Permissions --
FOR sequencename IN
SELECT sequence_name FROM information_schema.sequences
LOOP
EXECUTE format('GRANT USAGE, SELECT ON SEQUENCE %I to %I;', sequencename,
reader);
EXECUTE format('GRANT UPDATE ON SEQUENCE %I to %I;', sequencename, writer);
END LOOP;
-- Grant Function,Schema Permissions On All Schemas --
FOR schemaname IN
SELECT nspname FROM pg_namespace WHERE nspname NOT LIKE 'pg_%' -- AND nspname
<> 'information_schema'
LOOP
EXECUTE format('GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA %I to %I;',
schemaname, executor);
EXECUTE format('GRANT USAGE ON SCHEMA %I to %I;', schemaname, reader);
EXECUTE format('GRANT CREATE ON SCHEMA %I to %I;', schemaname, writer);
END LOOP;
-- Alter Default Privileges For All Tables and Functions For all users --
-- Tables
EXECUTE format('ALTER DEFAULT PRIVILEGES GRANT SELECT ON TABLES TO %I;',
reader);
EXECUTE format('ALTER DEFAULT PRIVILEGES GRANT INSERT, UPDATE, DELETE,
TRUNCATE, TRIGGER, REFERENCES ON TABLES TO %I;', writer);
-- Sequences
EXECUTE format('ALTER DEFAULT PRIVILEGES GRANT USAGE, SELECT ON SEQUENCES TO
%I;', reader);
EXECUTE format('ALTER DEFAULT PRIVILEGES GRANT UPDATE ON SEQUENCES TO %I;',
writer);
-- Schema
FOR schemaname IN
SELECT nspname FROM pg_namespace WHERE nspname NOT LIKE 'pg_%' -- AND nspname
<> 'information_schema'
LOOP
EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT EXECUTE ON
FUNCTIONS TO %I;',schemaname,executor);
END LOOP;
END;
$$ LANGUAGE plpgsql;

4. Run the following ***After you run the permissions script you will want to run
the following:

grant select on all tables in schema qrtzjobs to db_reader;


grant select on all tables in schema oms to db_reader;
grant select on all tables in schema springbatch to db_reader;
grant insert,update on all tables in schema qrtzjobs to db_writer;
grant insert,update on all tables in schema oms to db_writer;
grant insert,update on all tables in schema springbatch to db_writer;
grant execute on all functions in schema qrtzjobs to db_executor;
grant execute on all functions in schema oms to db_executor;
grant execute on all functions in schema springbatch to db_executor;
grant usage on schema springbatch to db_reader;
grant usage on schema oms to db_reader;
grant usage on schema qrtzjobs to db_reader;

You might also like