/*
 Navicat Premium Data Transfer

 Source Server         : local-PG
 Source Server Type    : PostgreSQL
 Source Server Version : 160001 (160001)
 Source Host           : localhost:5432
 Source Catalog        : xxl_job
 Source Schema         : public

 Target Server Type    : PostgreSQL
 Target Server Version : 160001 (160001)
 File Encoding         : 65001

 Date: 14/06/2024 10:24:06
*/


-- ----------------------------
-- Sequence structure for xxl_job_group_id
-- ----------------------------
DROP SEQUENCE IF EXISTS "public"."xxl_job_group_id";
CREATE SEQUENCE "public"."xxl_job_group_id"
    INCREMENT 1
    MINVALUE 1
    MAXVALUE 9223372036854775807
    START 1
    CACHE 1;
ALTER SEQUENCE "public"."xxl_job_group_id" OWNER TO "postgres";

-- ----------------------------
-- Sequence structure for xxl_job_info_id
-- ----------------------------
DROP SEQUENCE IF EXISTS "public"."xxl_job_info_id";
CREATE SEQUENCE "public"."xxl_job_info_id"
    INCREMENT 1
    MINVALUE 1
    MAXVALUE 9223372036854775807
    START 1
    CACHE 1;
ALTER SEQUENCE "public"."xxl_job_info_id" OWNER TO "postgres";

-- ----------------------------
-- Sequence structure for xxl_job_log_id
-- ----------------------------
DROP SEQUENCE IF EXISTS "public"."xxl_job_log_id";
CREATE SEQUENCE "public"."xxl_job_log_id"
    INCREMENT 1
    MINVALUE 1
    MAXVALUE 9223372036854775807
    START 1
    CACHE 1;
ALTER SEQUENCE "public"."xxl_job_log_id" OWNER TO "postgres";

-- ----------------------------
-- Sequence structure for xxl_job_log_report_id
-- ----------------------------
DROP SEQUENCE IF EXISTS "public"."xxl_job_log_report_id";
CREATE SEQUENCE "public"."xxl_job_log_report_id"
    INCREMENT 1
    MINVALUE 1
    MAXVALUE 9223372036854775807
    START 1
    CACHE 1;
ALTER SEQUENCE "public"."xxl_job_log_report_id" OWNER TO "postgres";

-- ----------------------------
-- Sequence structure for xxl_job_registry_id
-- ----------------------------
DROP SEQUENCE IF EXISTS "public"."xxl_job_registry_id";
CREATE SEQUENCE "public"."xxl_job_registry_id"
    INCREMENT 1
    MINVALUE 1
    MAXVALUE 9223372036854775807
    START 1
    CACHE 1;
ALTER SEQUENCE "public"."xxl_job_registry_id" OWNER TO "postgres";

-- ----------------------------
-- Table structure for xxl_job_group
-- ----------------------------
DROP TABLE IF EXISTS "public"."xxl_job_group";
CREATE TABLE "public"."xxl_job_group"
(
    "id"           int4                                       NOT NULL DEFAULT nextval('xxl_job_group_id'::regclass),
    "app_name"     varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
    "title"        varchar(12) COLLATE "pg_catalog"."default" NOT NULL,
    "address_type" int2                                       NOT NULL,
    "address_list" text COLLATE "pg_catalog"."default",
    "update_time"  timestamp(6)
)
;
ALTER TABLE "public"."xxl_job_group"
    OWNER TO "postgres";
COMMENT ON COLUMN "public"."xxl_job_group"."app_name" IS '执行器AppName';
COMMENT ON COLUMN "public"."xxl_job_group"."title" IS '执行器名称';
COMMENT ON COLUMN "public"."xxl_job_group"."address_type" IS '执行器地址类型：0=自动注册、1=手动录入';
COMMENT ON COLUMN "public"."xxl_job_group"."address_list" IS '执行器地址列表，多地址逗号分隔';

-- ----------------------------
-- Records of xxl_job_group
-- ----------------------------
BEGIN;
INSERT INTO "public"."xxl_job_group" ("id", "app_name", "title", "address_type", "address_list", "update_time")
VALUES (5, 'demo-api-executor', 'u-boot-job测试', 0, 'http://128.48.168.42:9999/', '2024-06-14 10:17:26.725');
COMMIT;

-- ----------------------------
-- Table structure for xxl_job_info
-- ----------------------------
DROP TABLE IF EXISTS "public"."xxl_job_info";
CREATE TABLE "public"."xxl_job_info"
(
    "id"                        int4                                        NOT NULL DEFAULT nextval('xxl_job_info_id'::regclass),
    "job_group"                 int4                                        NOT NULL,
    "job_desc"                  varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
    "add_time"                  timestamp(6),
    "update_time"               timestamp(6),
    "author"                    varchar(64) COLLATE "pg_catalog"."default",
    "alarm_email"               varchar(255) COLLATE "pg_catalog"."default",
    "schedule_type"             varchar(50) COLLATE "pg_catalog"."default"  NOT NULL,
    "schedule_conf"             varchar(128) COLLATE "pg_catalog"."default",
    "misfire_strategy"          varchar(50) COLLATE "pg_catalog"."default"  NOT NULL,
    "executor_route_strategy"   varchar(50) COLLATE "pg_catalog"."default",
    "executor_handler"          varchar(255) COLLATE "pg_catalog"."default",
    "executor_param"            varchar(512) COLLATE "pg_catalog"."default",
    "executor_block_strategy"   varchar(50) COLLATE "pg_catalog"."default",
    "executor_timeout"          int4                                        NOT NULL,
    "executor_fail_retry_count" int4                                        NOT NULL,
    "glue_type"                 varchar(50) COLLATE "pg_catalog"."default"  NOT NULL,
    "glue_source"               text COLLATE "pg_catalog"."default",
    "glue_remark"               varchar(128) COLLATE "pg_catalog"."default",
    "glue_updatetime"           timestamp(6),
    "child_jobid"               varchar(255) COLLATE "pg_catalog"."default",
    "trigger_status"            int2                                        NOT NULL,
    "trigger_last_time"         int8                                        NOT NULL,
    "trigger_next_time"         int8                                        NOT NULL
)
;
ALTER TABLE "public"."xxl_job_info"
    OWNER TO "postgres";
COMMENT ON COLUMN "public"."xxl_job_info"."job_group" IS '执行器主键ID';
COMMENT ON COLUMN "public"."xxl_job_info"."author" IS '作者';
COMMENT ON COLUMN "public"."xxl_job_info"."alarm_email" IS '报警邮件';
COMMENT ON COLUMN "public"."xxl_job_info"."schedule_type" IS '调度类型';
COMMENT ON COLUMN "public"."xxl_job_info"."schedule_conf" IS '调度配置，值含义取决于调度类型';
COMMENT ON COLUMN "public"."xxl_job_info"."misfire_strategy" IS '调度过期策略';
COMMENT ON COLUMN "public"."xxl_job_info"."executor_route_strategy" IS '执行器路由策略';
COMMENT ON COLUMN "public"."xxl_job_info"."executor_handler" IS '执行器任务handler';
COMMENT ON COLUMN "public"."xxl_job_info"."executor_param" IS '执行器任务参数';
COMMENT ON COLUMN "public"."xxl_job_info"."executor_block_strategy" IS '阻塞处理策略';
COMMENT ON COLUMN "public"."xxl_job_info"."executor_timeout" IS '任务执行超时时间，单位秒';
COMMENT ON COLUMN "public"."xxl_job_info"."executor_fail_retry_count" IS '失败重试次数';
COMMENT ON COLUMN "public"."xxl_job_info"."glue_type" IS 'GLUE类型';
COMMENT ON COLUMN "public"."xxl_job_info"."glue_source" IS 'GLUE源代码';
COMMENT ON COLUMN "public"."xxl_job_info"."glue_remark" IS 'GLUE备注';
COMMENT ON COLUMN "public"."xxl_job_info"."glue_updatetime" IS 'GLUE更新时间';
COMMENT ON COLUMN "public"."xxl_job_info"."child_jobid" IS '子任务ID，多个逗号分隔';
COMMENT ON COLUMN "public"."xxl_job_info"."trigger_status" IS '调度状态：0-停止，1-运行';
COMMENT ON COLUMN "public"."xxl_job_info"."trigger_last_time" IS '上次调度时间';
COMMENT ON COLUMN "public"."xxl_job_info"."trigger_next_time" IS '下次调度时间';


-- ----------------------------
-- Table structure for xxl_job_lock
-- ----------------------------
DROP TABLE IF EXISTS "public"."xxl_job_lock";
CREATE TABLE "public"."xxl_job_lock"
(
    "lock_name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL
)
;
ALTER TABLE "public"."xxl_job_lock"
    OWNER TO "postgres";
COMMENT ON COLUMN "public"."xxl_job_lock"."lock_name" IS '锁名称';

-- ----------------------------
-- Records of xxl_job_lock
-- ----------------------------
BEGIN;
INSERT INTO "public"."xxl_job_lock" ("lock_name")
VALUES ('schedule_lock');
COMMIT;

-- ----------------------------
-- Table structure for xxl_job_log
-- ----------------------------
DROP TABLE IF EXISTS "public"."xxl_job_log";
CREATE TABLE "public"."xxl_job_log"
(
    "id"                        int8 NOT NULL DEFAULT nextval('xxl_job_log_id'::regclass),
    "job_group"                 int4 NOT NULL,
    "job_id"                    int4 NOT NULL,
    "executor_address"          varchar(255) COLLATE "pg_catalog"."default",
    "executor_handler"          varchar(255) COLLATE "pg_catalog"."default",
    "executor_param"            varchar(512) COLLATE "pg_catalog"."default",
    "executor_sharding_param"   varchar(20) COLLATE "pg_catalog"."default",
    "executor_fail_retry_count" int4 NOT NULL DEFAULT 0,
    "trigger_time"              timestamp(6),
    "trigger_code"              int4 NOT NULL,
    "trigger_msg"               text COLLATE "pg_catalog"."default",
    "handle_time"               timestamp(6),
    "handle_code"               int4 NOT NULL,
    "handle_msg"                text COLLATE "pg_catalog"."default",
    "alarm_status"              int2 NOT NULL DEFAULT 0
)
;
ALTER TABLE "public"."xxl_job_log"
    OWNER TO "postgres";
COMMENT ON COLUMN "public"."xxl_job_log"."job_group" IS '执行器主键ID';
COMMENT ON COLUMN "public"."xxl_job_log"."job_id" IS '任务，主键ID';
COMMENT ON COLUMN "public"."xxl_job_log"."executor_address" IS '执行器地址，本次执行的地址';
COMMENT ON COLUMN "public"."xxl_job_log"."executor_handler" IS '执行器任务handler';
COMMENT ON COLUMN "public"."xxl_job_log"."executor_param" IS '执行器任务参数';
COMMENT ON COLUMN "public"."xxl_job_log"."executor_sharding_param" IS '执行器任务分片参数，格式如 1/2';
COMMENT ON COLUMN "public"."xxl_job_log"."executor_fail_retry_count" IS '失败重试次数';
COMMENT ON COLUMN "public"."xxl_job_log"."trigger_time" IS '调度-时间';
COMMENT ON COLUMN "public"."xxl_job_log"."trigger_code" IS '调度-结果';
COMMENT ON COLUMN "public"."xxl_job_log"."trigger_msg" IS '调度-日志';
COMMENT ON COLUMN "public"."xxl_job_log"."handle_time" IS '执行-时间';
COMMENT ON COLUMN "public"."xxl_job_log"."handle_code" IS '执行-状态';
COMMENT ON COLUMN "public"."xxl_job_log"."handle_msg" IS '执行-日志';
COMMENT ON COLUMN "public"."xxl_job_log"."alarm_status" IS '告警状态：0-默认、1-无需告警、2-告警成功、3-告警失败';


-- ----------------------------
-- Table structure for xxl_job_log_report
-- ----------------------------
DROP TABLE IF EXISTS "public"."xxl_job_log_report";
CREATE TABLE "public"."xxl_job_log_report"
(
    "id"            int4 NOT NULL DEFAULT nextval('xxl_job_log_report_id'::regclass),
    "trigger_day"   timestamp(6),
    "running_count" int4 NOT NULL DEFAULT 0,
    "suc_count"     int4 NOT NULL DEFAULT 0,
    "fail_count"    int4 NOT NULL DEFAULT 0,
    "update_time"   timestamp(6)
)
;
ALTER TABLE "public"."xxl_job_log_report"
    OWNER TO "postgres";
COMMENT ON COLUMN "public"."xxl_job_log_report"."trigger_day" IS '调度-时间';
COMMENT ON COLUMN "public"."xxl_job_log_report"."running_count" IS '运行中-日志数量';
COMMENT ON COLUMN "public"."xxl_job_log_report"."suc_count" IS '执行成功-日志数量';
COMMENT ON COLUMN "public"."xxl_job_log_report"."fail_count" IS '执行失败-日志数量';


-- ----------------------------
-- Table structure for xxl_job_logglue
-- ----------------------------
DROP TABLE IF EXISTS "public"."xxl_job_logglue";
CREATE TABLE "public"."xxl_job_logglue"
(
    "id"          int4                                        NOT NULL,
    "job_id"      int4                                        NOT NULL,
    "glue_type"   varchar(50) COLLATE "pg_catalog"."default",
    "glue_source" text COLLATE "pg_catalog"."default",
    "glue_remark" varchar(128) COLLATE "pg_catalog"."default" NOT NULL,
    "add_time"    timestamp(6),
    "update_time" timestamp(6)
)
;
ALTER TABLE "public"."xxl_job_logglue"
    OWNER TO "postgres";
COMMENT ON COLUMN "public"."xxl_job_logglue"."job_id" IS '任务，主键ID';
COMMENT ON COLUMN "public"."xxl_job_logglue"."glue_type" IS 'GLUE类型';
COMMENT ON COLUMN "public"."xxl_job_logglue"."glue_source" IS 'GLUE源代码';
COMMENT ON COLUMN "public"."xxl_job_logglue"."glue_remark" IS 'GLUE备注';

-- ----------------------------
-- Records of xxl_job_logglue
-- ----------------------------
BEGIN;
COMMIT;

-- ----------------------------
-- Table structure for xxl_job_registry
-- ----------------------------
DROP TABLE IF EXISTS "public"."xxl_job_registry";
CREATE TABLE "public"."xxl_job_registry"
(
    "id"             int4                                        NOT NULL DEFAULT nextval('xxl_job_registry_id'::regclass),
    "registry_group" varchar(50) COLLATE "pg_catalog"."default"  NOT NULL,
    "registry_key"   varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
    "registry_value" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
    "update_time"    timestamp(6)
)
;
ALTER TABLE "public"."xxl_job_registry"
    OWNER TO "postgres";


-- ----------------------------
-- Table structure for xxl_job_user
-- ----------------------------
DROP TABLE IF EXISTS "public"."xxl_job_user";
CREATE TABLE "public"."xxl_job_user"
(
    "id"         int4                                       NOT NULL,
    "username"   varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
    "password"   varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
    "role"       int2                                       NOT NULL,
    "permission" varchar(255) COLLATE "pg_catalog"."default"
)
;
ALTER TABLE "public"."xxl_job_user"
    OWNER TO "postgres";
COMMENT ON COLUMN "public"."xxl_job_user"."username" IS '账号';
COMMENT ON COLUMN "public"."xxl_job_user"."password" IS '密码';
COMMENT ON COLUMN "public"."xxl_job_user"."role" IS '角色：0-普通用户、1-管理员';
COMMENT ON COLUMN "public"."xxl_job_user"."permission" IS '权限：执行器ID列表，多个逗号分割';

-- ----------------------------
-- Records of xxl_job_user
-- ----------------------------
BEGIN;
INSERT INTO "public"."xxl_job_user" ("id", "username", "password", "role", "permission")
VALUES (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL);
COMMIT;

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"public"."xxl_job_group_id"', 5, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"public"."xxl_job_info_id"', 4, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"public"."xxl_job_log_id"', 30, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"public"."xxl_job_log_report_id"', 7, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"public"."xxl_job_registry_id"', 2, true);

-- ----------------------------
-- Primary Key structure for table xxl_job_group
-- ----------------------------
ALTER TABLE "public"."xxl_job_group"
    ADD CONSTRAINT "xxl_job_group_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table xxl_job_info
-- ----------------------------
ALTER TABLE "public"."xxl_job_info"
    ADD CONSTRAINT "xxl_job_info_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table xxl_job_lock
-- ----------------------------
ALTER TABLE "public"."xxl_job_lock"
    ADD CONSTRAINT "xxl_job_lock_pkey" PRIMARY KEY ("lock_name");

-- ----------------------------
-- Indexes structure for table xxl_job_log
-- ----------------------------
CREATE INDEX "I_handle_code" ON "public"."xxl_job_log" USING btree (
                                                                    "handle_code" "pg_catalog"."int4_ops" ASC NULLS LAST
    );
CREATE INDEX "I_trigger_time" ON "public"."xxl_job_log" USING btree (
                                                                     "trigger_time" "pg_catalog"."timestamp_ops" ASC
                                                                     NULLS LAST
    );

-- ----------------------------
-- Primary Key structure for table xxl_job_log
-- ----------------------------
ALTER TABLE "public"."xxl_job_log"
    ADD CONSTRAINT "xxl_job_log_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Indexes structure for table xxl_job_log_report
-- ----------------------------
CREATE UNIQUE INDEX "i_trigger_day" ON "public"."xxl_job_log_report" USING btree (
                                                                                  "trigger_day"
                                                                                  "pg_catalog"."timestamp_ops" ASC NULLS
                                                                                  LAST
    );

-- ----------------------------
-- Primary Key structure for table xxl_job_log_report
-- ----------------------------
ALTER TABLE "public"."xxl_job_log_report"
    ADD CONSTRAINT "xxl_job_log_report_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table xxl_job_logglue
-- ----------------------------
ALTER TABLE "public"."xxl_job_logglue"
    ADD CONSTRAINT "xxl_job_logglue_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Indexes structure for table xxl_job_registry
-- ----------------------------
CREATE INDEX "i_g_k_v" ON "public"."xxl_job_registry" USING btree (
                                                                   "registry_group" COLLATE "pg_catalog"."default"
                                                                   "pg_catalog"."text_ops" ASC NULLS LAST,
                                                                   "registry_key" COLLATE "pg_catalog"."default"
                                                                   "pg_catalog"."text_ops" ASC NULLS LAST,
                                                                   "registry_value" COLLATE "pg_catalog"."default"
                                                                   "pg_catalog"."text_ops" ASC NULLS LAST
    );

-- ----------------------------
-- Primary Key structure for table xxl_job_registry
-- ----------------------------
ALTER TABLE "public"."xxl_job_registry"
    ADD CONSTRAINT "xxl_job_registry_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Indexes structure for table xxl_job_user
-- ----------------------------
CREATE UNIQUE INDEX "i_username" ON "public"."xxl_job_user" USING btree (
                                                                         "username" COLLATE "pg_catalog"."default"
                                                                         "pg_catalog"."text_ops" ASC NULLS LAST
    );

-- ----------------------------
-- Primary Key structure for table xxl_job_user
-- ----------------------------
ALTER TABLE "public"."xxl_job_user"
    ADD CONSTRAINT "xxl_job_user_pkey" PRIMARY KEY ("id");
