/*
 Navicat Premium Data Transfer

 Source Server         : 172.16.12.105
 Source Server Type    : PostgreSQL
 Source Server Version : 140007 (140007)
 Source Host           : 172.16.12.105:5432
 Source Catalog        : keliubao
 Source Schema         : public

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

 Date: 13/06/2023 10:47:06
*/


-- ----------------------------
-- Sequence structure for seq_data_market_api
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_data_market_api";
CREATE SEQUENCE "seq_data_market_api" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_data_market_api_log
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_data_market_api_log";
CREATE SEQUENCE "seq_data_market_api_log" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_data_market_api_mask
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_data_market_api_mask";
CREATE SEQUENCE "seq_data_market_api_mask" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_data_metadata_authorize
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_data_metadata_authorize";
CREATE SEQUENCE "seq_data_metadata_authorize" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_data_metadata_change_record
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_data_metadata_change_record";
CREATE SEQUENCE "seq_data_metadata_change_record" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_data_metadata_column
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_data_metadata_column";
CREATE SEQUENCE "seq_data_metadata_column" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_data_metadata_source
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_data_metadata_source";
CREATE SEQUENCE "seq_data_metadata_source" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_data_metadata_table
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_data_metadata_table";
CREATE SEQUENCE "seq_data_metadata_table" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_gen_table
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_gen_table";
CREATE SEQUENCE "seq_gen_table" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_gen_table_column
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_gen_table_column";
CREATE SEQUENCE "seq_gen_table_column" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_portal_dept
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_portal_dept";
CREATE SEQUENCE "seq_portal_dept" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_portal_logininfor
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_portal_logininfor";
CREATE SEQUENCE "seq_portal_logininfor" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_portal_oper_log
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_portal_oper_log";
CREATE SEQUENCE "seq_portal_oper_log" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_portal_phone_msg_log
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_portal_phone_msg_log";
CREATE SEQUENCE "seq_portal_phone_msg_log" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_portal_upload_files
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_portal_upload_files";
CREATE SEQUENCE "seq_portal_upload_files" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_portal_user
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_portal_user";
CREATE SEQUENCE "seq_portal_user" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_portal_user_msg
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_portal_user_msg";
CREATE SEQUENCE "seq_portal_user_msg" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sql_console_file
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sql_console_file";
CREATE SEQUENCE "seq_sql_console_file" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sql_data_apply
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sql_data_apply";
CREATE SEQUENCE "seq_sql_data_apply" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_config
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_config";
CREATE SEQUENCE "seq_sys_config" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 4
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_dept
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_dept";
CREATE SEQUENCE "seq_sys_dept" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 3
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_dict_data
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_dict_data";
CREATE SEQUENCE "seq_sys_dict_data" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_dict_type
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_dict_type";
CREATE SEQUENCE "seq_sys_dict_type" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_job
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_job";
CREATE SEQUENCE "seq_sys_job" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_job_log
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_job_log";
CREATE SEQUENCE "seq_sys_job_log" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_logininfor
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_logininfor";
CREATE SEQUENCE "seq_sys_logininfor" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_menu
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_menu";
CREATE SEQUENCE "seq_sys_menu" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 3000
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_notice
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_notice";
CREATE SEQUENCE "seq_sys_notice" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_oper_log
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_oper_log";
CREATE SEQUENCE "seq_sys_oper_log" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_post
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_post";
CREATE SEQUENCE "seq_sys_post" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_role
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_role";
CREATE SEQUENCE "seq_sys_role" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 3
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_user
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_user";
CREATE SEQUENCE "seq_sys_user" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 2
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_warning_contact
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_warning_contact";
CREATE SEQUENCE "seq_sys_warning_contact" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_sys_warning_log
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_sys_warning_log";
CREATE SEQUENCE "seq_sys_warning_log" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Sequence structure for seq_test_t_t
-- ----------------------------
DROP SEQUENCE IF EXISTS "seq_test_t_t";
CREATE SEQUENCE "seq_test_t_t" 
INCREMENT 1
MINVALUE  1
MAXVALUE 9223372036854775807
START 1
CACHE 1;

-- ----------------------------
-- Table structure for gen_table
-- ----------------------------
DROP TABLE IF EXISTS "gen_table";
CREATE TABLE "gen_table" (
  "table_id" int8 NOT NULL DEFAULT nextval('seq_gen_table'::regclass),
  "table_name" varchar(200) COLLATE "pg_catalog"."default",
  "table_comment" varchar(500) COLLATE "pg_catalog"."default",
  "sub_table_name" varchar(64) COLLATE "pg_catalog"."default",
  "sub_table_fk_name" varchar(64) COLLATE "pg_catalog"."default",
  "class_name" varchar(100) COLLATE "pg_catalog"."default",
  "tpl_category" varchar(200) COLLATE "pg_catalog"."default",
  "package_name" varchar(100) COLLATE "pg_catalog"."default",
  "module_name" varchar(30) COLLATE "pg_catalog"."default",
  "business_name" varchar(30) COLLATE "pg_catalog"."default",
  "function_name" varchar(50) COLLATE "pg_catalog"."default",
  "function_author" varchar(50) COLLATE "pg_catalog"."default",
  "gen_type" char(1) COLLATE "pg_catalog"."default",
  "gen_path" varchar(200) COLLATE "pg_catalog"."default",
  "options" varchar(1000) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "gen_table"."table_id" IS '编号';
COMMENT ON COLUMN "gen_table"."table_name" IS '表名称';
COMMENT ON COLUMN "gen_table"."table_comment" IS '表描述';
COMMENT ON COLUMN "gen_table"."sub_table_name" IS '关联子表的表名';
COMMENT ON COLUMN "gen_table"."sub_table_fk_name" IS '子表关联的外键名';
COMMENT ON COLUMN "gen_table"."class_name" IS '实体类名称';
COMMENT ON COLUMN "gen_table"."tpl_category" IS '使用的模板（crud单表操作 tree树表操作）';
COMMENT ON COLUMN "gen_table"."package_name" IS '生成包路径';
COMMENT ON COLUMN "gen_table"."module_name" IS '生成模块名';
COMMENT ON COLUMN "gen_table"."business_name" IS '生成业务名';
COMMENT ON COLUMN "gen_table"."function_name" IS '生成功能名';
COMMENT ON COLUMN "gen_table"."function_author" IS '生成功能作者';
COMMENT ON COLUMN "gen_table"."gen_type" IS '生成代码方式（0zip压缩包 1自定义路径）';
COMMENT ON COLUMN "gen_table"."gen_path" IS '生成路径（不填默认项目路径）';
COMMENT ON COLUMN "gen_table"."options" IS '其它生成选项';
COMMENT ON COLUMN "gen_table"."create_by" IS '创建者';
COMMENT ON COLUMN "gen_table"."create_time" IS '创建时间';
COMMENT ON COLUMN "gen_table"."update_by" IS '更新者';
COMMENT ON COLUMN "gen_table"."update_time" IS '更新时间';
COMMENT ON COLUMN "gen_table"."remark" IS '备注';
COMMENT ON TABLE "gen_table" IS '代码生成业务表';

-- ----------------------------
-- Table structure for gen_table_column
-- ----------------------------
DROP TABLE IF EXISTS "gen_table_column";
CREATE TABLE "gen_table_column" (
  "column_id" int8 NOT NULL DEFAULT nextval('seq_gen_table_column'::regclass),
  "table_id" int8,
  "column_name" varchar(200) COLLATE "pg_catalog"."default",
  "column_comment" varchar(500) COLLATE "pg_catalog"."default",
  "column_type" varchar(100) COLLATE "pg_catalog"."default",
  "java_type" varchar(500) COLLATE "pg_catalog"."default",
  "java_field" varchar(200) COLLATE "pg_catalog"."default",
  "is_pk" char(1) COLLATE "pg_catalog"."default",
  "is_increment" char(1) COLLATE "pg_catalog"."default",
  "is_required" char(1) COLLATE "pg_catalog"."default",
  "is_insert" char(1) COLLATE "pg_catalog"."default",
  "is_edit" char(1) COLLATE "pg_catalog"."default",
  "is_list" char(1) COLLATE "pg_catalog"."default",
  "is_query" char(1) COLLATE "pg_catalog"."default",
  "query_type" varchar(200) COLLATE "pg_catalog"."default",
  "html_type" varchar(200) COLLATE "pg_catalog"."default",
  "dict_type" varchar(200) COLLATE "pg_catalog"."default",
  "sort" int4,
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6)
)
;
COMMENT ON COLUMN "gen_table_column"."column_id" IS '编号';
COMMENT ON COLUMN "gen_table_column"."table_id" IS '归属表编号';
COMMENT ON COLUMN "gen_table_column"."column_name" IS '列名称';
COMMENT ON COLUMN "gen_table_column"."column_comment" IS '列描述';
COMMENT ON COLUMN "gen_table_column"."column_type" IS '列类型';
COMMENT ON COLUMN "gen_table_column"."java_type" IS 'JAVA类型';
COMMENT ON COLUMN "gen_table_column"."java_field" IS 'JAVA字段名';
COMMENT ON COLUMN "gen_table_column"."is_pk" IS '是否主键（1是）';
COMMENT ON COLUMN "gen_table_column"."is_increment" IS '是否自增（1是）';
COMMENT ON COLUMN "gen_table_column"."is_required" IS '是否必填（1是）';
COMMENT ON COLUMN "gen_table_column"."is_insert" IS '是否为插入字段（1是）';
COMMENT ON COLUMN "gen_table_column"."is_edit" IS '是否编辑字段（1是）';
COMMENT ON COLUMN "gen_table_column"."is_list" IS '是否列表字段（1是）';
COMMENT ON COLUMN "gen_table_column"."is_query" IS '是否查询字段（1是）';
COMMENT ON COLUMN "gen_table_column"."query_type" IS '查询方式（等于、不等于、大于、小于、范围）';
COMMENT ON COLUMN "gen_table_column"."html_type" IS '显示类型（文本框、文本域、下拉框、复选框、单选框、日期控件）';
COMMENT ON COLUMN "gen_table_column"."dict_type" IS '字典类型';
COMMENT ON COLUMN "gen_table_column"."sort" IS '排序';
COMMENT ON COLUMN "gen_table_column"."create_by" IS '创建者';
COMMENT ON COLUMN "gen_table_column"."create_time" IS '创建时间';
COMMENT ON COLUMN "gen_table_column"."update_by" IS '更新者';
COMMENT ON COLUMN "gen_table_column"."update_time" IS '更新时间';
COMMENT ON TABLE "gen_table_column" IS '代码生成业务表字段';

-- ----------------------------
-- Table structure for seqno
-- ----------------------------
DROP TABLE IF EXISTS "seqno";
CREATE TABLE "seqno" (
  "nextval" int8
)
;

-- ----------------------------
-- Table structure for tbl_data_market_api
-- ----------------------------
DROP TABLE IF EXISTS "tbl_data_market_api";
CREATE TABLE "tbl_data_market_api" (
  "id" int8 NOT NULL DEFAULT nextval('seq_data_market_api'::regclass),
  "status" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "create_by" varchar(50) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "create_dept" varchar(50) COLLATE "pg_catalog"."default",
  "update_by" varchar(50) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(1000) COLLATE "pg_catalog"."default",
  "api_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "api_version" varchar(10) COLLATE "pg_catalog"."default" NOT NULL,
  "api_url" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "req_method" varchar(10) COLLATE "pg_catalog"."default" NOT NULL,
  "res_type" varchar(10) COLLATE "pg_catalog"."default" NOT NULL,
  "deny" varchar(2000) COLLATE "pg_catalog"."default",
  "limit_json" text COLLATE "pg_catalog"."default",
  "config_json" text COLLATE "pg_catalog"."default",
  "req_json" text COLLATE "pg_catalog"."default",
  "res_json" text COLLATE "pg_catalog"."default",
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(100) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "del_flag" char(1) COLLATE "pg_catalog"."default" DEFAULT '0'::bpchar
)
;
COMMENT ON COLUMN "tbl_data_market_api"."id" IS '主键ID';
COMMENT ON COLUMN "tbl_data_market_api"."status" IS '状态（1待注册，2已注册，3已发布）';
COMMENT ON COLUMN "tbl_data_market_api"."create_by" IS '创建人';
COMMENT ON COLUMN "tbl_data_market_api"."create_time" IS '创建日期';
COMMENT ON COLUMN "tbl_data_market_api"."create_dept" IS '创建人所属部门';
COMMENT ON COLUMN "tbl_data_market_api"."update_by" IS '更新人';
COMMENT ON COLUMN "tbl_data_market_api"."update_time" IS '更新日期';
COMMENT ON COLUMN "tbl_data_market_api"."remark" IS '备注';
COMMENT ON COLUMN "tbl_data_market_api"."api_name" IS 'API名称';
COMMENT ON COLUMN "tbl_data_market_api"."api_version" IS 'API版本';
COMMENT ON COLUMN "tbl_data_market_api"."api_url" IS 'API路径';
COMMENT ON COLUMN "tbl_data_market_api"."req_method" IS '请求方式';
COMMENT ON COLUMN "tbl_data_market_api"."res_type" IS '返回格式';
COMMENT ON COLUMN "tbl_data_market_api"."deny" IS 'IP黑名单多个，隔开';
COMMENT ON COLUMN "tbl_data_market_api"."limit_json" IS '限流配置';
COMMENT ON COLUMN "tbl_data_market_api"."config_json" IS '执行配置';
COMMENT ON COLUMN "tbl_data_market_api"."req_json" IS '请求参数';
COMMENT ON COLUMN "tbl_data_market_api"."res_json" IS '返回参数';
COMMENT ON COLUMN "tbl_data_market_api"."version_num" IS '版本号';
COMMENT ON COLUMN "tbl_data_market_api"."rec_token" IS '随机码';
COMMENT ON COLUMN "tbl_data_market_api"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON TABLE "tbl_data_market_api" IS '【数据API信息表】';

-- ----------------------------
-- Table structure for tbl_data_market_api_log
-- ----------------------------
DROP TABLE IF EXISTS "tbl_data_market_api_log";
CREATE TABLE "tbl_data_market_api_log" (
  "id" int8 NOT NULL DEFAULT nextval('seq_data_market_api_log'::regclass),
  "api_id" int8 NOT NULL,
  "caller_id" varchar(50) COLLATE "pg_catalog"."default",
  "caller_ip" varchar(50) COLLATE "pg_catalog"."default",
  "caller_url" varchar(255) COLLATE "pg_catalog"."default",
  "caller_params" varchar(2000) COLLATE "pg_catalog"."default",
  "caller_date" timestamp(6),
  "caller_size" int4,
  "time" int4,
  "msg" varchar(2000) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_data_market_api_log"."id" IS '主键ID';
COMMENT ON COLUMN "tbl_data_market_api_log"."api_id" IS '调用api';
COMMENT ON COLUMN "tbl_data_market_api_log"."caller_id" IS '调用者id';
COMMENT ON COLUMN "tbl_data_market_api_log"."caller_ip" IS '调用者ip';
COMMENT ON COLUMN "tbl_data_market_api_log"."caller_url" IS '调用url';
COMMENT ON COLUMN "tbl_data_market_api_log"."caller_params" IS '调用参数';
COMMENT ON COLUMN "tbl_data_market_api_log"."caller_date" IS '调用时间';
COMMENT ON COLUMN "tbl_data_market_api_log"."caller_size" IS '调用数据量';
COMMENT ON COLUMN "tbl_data_market_api_log"."time" IS '调用耗时';
COMMENT ON COLUMN "tbl_data_market_api_log"."msg" IS '信息记录';
COMMENT ON COLUMN "tbl_data_market_api_log"."status" IS '状态（0成功，1失败）';
COMMENT ON TABLE "tbl_data_market_api_log" IS '【api调用日志信息表】';

-- ----------------------------
-- Table structure for tbl_data_market_api_mask
-- ----------------------------
DROP TABLE IF EXISTS "tbl_data_market_api_mask";
CREATE TABLE "tbl_data_market_api_mask" (
  "id" int8 NOT NULL DEFAULT nextval('seq_data_market_api_mask'::regclass),
  "status" char(1) COLLATE "pg_catalog"."default",
  "create_by" varchar(50) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "create_dept" varchar(50) COLLATE "pg_catalog"."default",
  "update_by" varchar(50) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(1000) COLLATE "pg_catalog"."default",
  "api_id" int8 NOT NULL,
  "mask_name" varchar(50) COLLATE "pg_catalog"."default",
  "config_json" text COLLATE "pg_catalog"."default",
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(100) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "del_flag" char(1) COLLATE "pg_catalog"."default" DEFAULT '0'::bpchar
)
;
COMMENT ON COLUMN "tbl_data_market_api_mask"."id" IS '脱敏主键ID';
COMMENT ON COLUMN "tbl_data_market_api_mask"."status" IS '状态（0正常，1停用）';
COMMENT ON COLUMN "tbl_data_market_api_mask"."create_by" IS '创建人';
COMMENT ON COLUMN "tbl_data_market_api_mask"."create_time" IS '创建日期';
COMMENT ON COLUMN "tbl_data_market_api_mask"."create_dept" IS '创建人所属部门';
COMMENT ON COLUMN "tbl_data_market_api_mask"."update_by" IS '更新人';
COMMENT ON COLUMN "tbl_data_market_api_mask"."update_time" IS '更新日期';
COMMENT ON COLUMN "tbl_data_market_api_mask"."remark" IS '备注';
COMMENT ON COLUMN "tbl_data_market_api_mask"."api_id" IS '数据API';
COMMENT ON COLUMN "tbl_data_market_api_mask"."mask_name" IS '脱敏名称';
COMMENT ON COLUMN "tbl_data_market_api_mask"."config_json" IS '脱敏字段规则配置';
COMMENT ON COLUMN "tbl_data_market_api_mask"."version_num" IS '版本号';
COMMENT ON COLUMN "tbl_data_market_api_mask"."rec_token" IS '随机码';
COMMENT ON COLUMN "tbl_data_market_api_mask"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON TABLE "tbl_data_market_api_mask" IS '【数据API脱敏信息表】';

-- ----------------------------
-- Table structure for tbl_data_metadata_column
-- ----------------------------
DROP TABLE IF EXISTS "tbl_data_metadata_column";
CREATE TABLE "tbl_data_metadata_column" (
  "id" int8 NOT NULL DEFAULT nextval('seq_data_metadata_column'::regclass),
  "source_id" int8 NOT NULL,
  "table_id" int8 NOT NULL,
  "column_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "column_comment" varchar(255) COLLATE "pg_catalog"."default",
  "column_key" varchar(255) COLLATE "pg_catalog"."default",
  "column_nullable" varchar(255) COLLATE "pg_catalog"."default",
  "column_position" varchar(50) COLLATE "pg_catalog"."default",
  "data_type" varchar(255) COLLATE "pg_catalog"."default",
  "data_length" varchar(255) COLLATE "pg_catalog"."default",
  "data_precision" varchar(255) COLLATE "pg_catalog"."default",
  "data_scale" varchar(255) COLLATE "pg_catalog"."default",
  "data_default" varchar(255) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_data_metadata_column"."id" IS '主键ID';
COMMENT ON COLUMN "tbl_data_metadata_column"."source_id" IS '所属数据源';
COMMENT ON COLUMN "tbl_data_metadata_column"."table_id" IS '所属数据表';
COMMENT ON COLUMN "tbl_data_metadata_column"."column_name" IS '字段名称';
COMMENT ON COLUMN "tbl_data_metadata_column"."column_comment" IS '字段注释';
COMMENT ON COLUMN "tbl_data_metadata_column"."column_key" IS '字段是否主键(0是 1否)';
COMMENT ON COLUMN "tbl_data_metadata_column"."column_nullable" IS '字段是否允许为空(0是 1否)';
COMMENT ON COLUMN "tbl_data_metadata_column"."column_position" IS '字段序号';
COMMENT ON COLUMN "tbl_data_metadata_column"."data_type" IS '数据类型';
COMMENT ON COLUMN "tbl_data_metadata_column"."data_length" IS '数据长度';
COMMENT ON COLUMN "tbl_data_metadata_column"."data_precision" IS '数据精度';
COMMENT ON COLUMN "tbl_data_metadata_column"."data_scale" IS '数据小数位';
COMMENT ON COLUMN "tbl_data_metadata_column"."data_default" IS '数据默认值';
COMMENT ON TABLE "tbl_data_metadata_column" IS '【元数据信息表】';

-- ----------------------------
-- Table structure for tbl_data_metadata_source
-- ----------------------------
DROP TABLE IF EXISTS "tbl_data_metadata_source";
CREATE TABLE "tbl_data_metadata_source" (
  "id" int8 NOT NULL DEFAULT nextval('seq_data_metadata_source'::regclass),
  "status" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "create_by" varchar(50) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "create_dept" varchar(50) COLLATE "pg_catalog"."default",
  "update_by" varchar(50) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(1000) COLLATE "pg_catalog"."default",
  "db_type" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "source_name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
  "is_sync" char(1) COLLATE "pg_catalog"."default",
  "db_schema" varchar(500) COLLATE "pg_catalog"."default" NOT NULL,
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(100) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "del_flag" char(1) COLLATE "pg_catalog"."default" DEFAULT '0'::bpchar
)
;
COMMENT ON COLUMN "tbl_data_metadata_source"."id" IS '主键ID';
COMMENT ON COLUMN "tbl_data_metadata_source"."status" IS '状态（0正常，1停用）';
COMMENT ON COLUMN "tbl_data_metadata_source"."create_by" IS '创建人';
COMMENT ON COLUMN "tbl_data_metadata_source"."create_time" IS '创建日期';
COMMENT ON COLUMN "tbl_data_metadata_source"."create_dept" IS '创建人所属部门';
COMMENT ON COLUMN "tbl_data_metadata_source"."update_by" IS '更新人';
COMMENT ON COLUMN "tbl_data_metadata_source"."update_time" IS '更新日期';
COMMENT ON COLUMN "tbl_data_metadata_source"."remark" IS '备注';
COMMENT ON COLUMN "tbl_data_metadata_source"."db_type" IS '数据源类型';
COMMENT ON COLUMN "tbl_data_metadata_source"."source_name" IS '数据源名称';
COMMENT ON COLUMN "tbl_data_metadata_source"."is_sync" IS '元数据同步（0已同步 1同步中 2未同步）';
COMMENT ON COLUMN "tbl_data_metadata_source"."db_schema" IS '数据源连接信息';
COMMENT ON COLUMN "tbl_data_metadata_source"."version_num" IS '版本号';
COMMENT ON COLUMN "tbl_data_metadata_source"."rec_token" IS '随机码';
COMMENT ON COLUMN "tbl_data_metadata_source"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON TABLE "tbl_data_metadata_source" IS '【数据源信息表】';

-- ----------------------------
-- Table structure for tbl_data_metadata_table
-- ----------------------------
DROP TABLE IF EXISTS "tbl_data_metadata_table";
CREATE TABLE "tbl_data_metadata_table" (
  "id" int8 NOT NULL DEFAULT nextval('seq_data_metadata_table'::regclass),
  "source_id" int8 NOT NULL,
  "table_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "table_comment" varchar(255) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_data_metadata_table"."id" IS '主键ID';
COMMENT ON COLUMN "tbl_data_metadata_table"."source_id" IS '所属数据源';
COMMENT ON COLUMN "tbl_data_metadata_table"."table_name" IS '表名';
COMMENT ON COLUMN "tbl_data_metadata_table"."table_comment" IS '表注释';
COMMENT ON TABLE "tbl_data_metadata_table" IS '【数据库表信息表】';

-- ----------------------------
-- Table structure for tbl_data_org
-- ----------------------------
DROP TABLE IF EXISTS "tbl_data_org";
CREATE TABLE "tbl_data_org" (
  "org_id" int8 NOT NULL,
  "org_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "org_no" varchar(255) COLLATE "pg_catalog"."default",
  "org_desc" varchar(255) COLLATE "pg_catalog"."default",
  "parent_id" int8,
  "sort" int4 NOT NULL,
  "status" char(1) COLLATE "pg_catalog"."default",
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "del_flag" char(1) COLLATE "pg_catalog"."default" DEFAULT '0'::bpchar
)
;
COMMENT ON COLUMN "tbl_data_org"."org_id" IS '【ID】';
COMMENT ON COLUMN "tbl_data_org"."org_name" IS '【组织名称】';
COMMENT ON COLUMN "tbl_data_org"."org_no" IS '【组织编码】';
COMMENT ON COLUMN "tbl_data_org"."org_desc" IS '【组织说明】';
COMMENT ON COLUMN "tbl_data_org"."parent_id" IS '【父组织ID】';
COMMENT ON COLUMN "tbl_data_org"."sort" IS '【排序】';
COMMENT ON COLUMN "tbl_data_org"."status" IS '【状态】0正常 1停用';
COMMENT ON COLUMN "tbl_data_org"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_data_org"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_data_org"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_data_org"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_data_org"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_data_org"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_data_org"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON TABLE "tbl_data_org" IS '【数据组织架构表】';

-- ----------------------------
-- Table structure for tbl_data_org_dir
-- ----------------------------
DROP TABLE IF EXISTS "tbl_data_org_dir";
CREATE TABLE "tbl_data_org_dir" (
  "dir_id" int8 NOT NULL,
  "dir_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "dir_name_cn" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "org_id" int8 NOT NULL,
  "business_type" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "data_total" int8,
  "update_rate" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "resource_type" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "data_method" char(1) COLLATE "pg_catalog"."default",
  "is_desensitise" char(1) COLLATE "pg_catalog"."default",
  "is_personal_info" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "data_grade" char(1) COLLATE "pg_catalog"."default",
  "open_condition" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "desc" text COLLATE "pg_catalog"."default",
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "status" char(1) COLLATE "pg_catalog"."default",
  "del_flag" char(1) COLLATE "pg_catalog"."default" DEFAULT '0'::bpchar
)
;
COMMENT ON COLUMN "tbl_data_org_dir"."dir_id" IS '【数据目录ID】';
COMMENT ON COLUMN "tbl_data_org_dir"."dir_name" IS '【目录/表名】';
COMMENT ON COLUMN "tbl_data_org_dir"."dir_name_cn" IS '【中文名称】';
COMMENT ON COLUMN "tbl_data_org_dir"."org_id" IS '【组织架构ID】';
COMMENT ON COLUMN "tbl_data_org_dir"."business_type" IS '【业务分类】';
COMMENT ON COLUMN "tbl_data_org_dir"."data_total" IS '【数据总量】';
COMMENT ON COLUMN "tbl_data_org_dir"."update_rate" IS '【更新频率】1每日 2每周 3每月 4实时 5每年 6不定期';
COMMENT ON COLUMN "tbl_data_org_dir"."resource_type" IS '【资源类型】1结构化 2非结构化';
COMMENT ON COLUMN "tbl_data_org_dir"."data_method" IS '【数据提供方式】1CSV 2XSL 3JSON 4XML 5PDF 6接口 7其他';
COMMENT ON COLUMN "tbl_data_org_dir"."is_desensitise" IS '【是否敏感】0是 1否';
COMMENT ON COLUMN "tbl_data_org_dir"."is_personal_info" IS '【是否有个人信息】0是 1否';
COMMENT ON COLUMN "tbl_data_org_dir"."data_grade" IS '【数据等级】1一 2二 3三 4四';
COMMENT ON COLUMN "tbl_data_org_dir"."open_condition" IS '【开放条件】1无条件开放 2条件开放 3不予共享';
COMMENT ON COLUMN "tbl_data_org_dir"."desc" IS '【描述】';
COMMENT ON COLUMN "tbl_data_org_dir"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_data_org_dir"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_data_org_dir"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_data_org_dir"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_data_org_dir"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_data_org_dir"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_data_org_dir"."status" IS '【状态】0正常 1停用';
COMMENT ON COLUMN "tbl_data_org_dir"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON TABLE "tbl_data_org_dir" IS '【数据组织目录表】';

-- ----------------------------
-- Table structure for tbl_data_org_dir_column
-- ----------------------------
DROP TABLE IF EXISTS "tbl_data_org_dir_column";
CREATE TABLE "tbl_data_org_dir_column" (
  "column_id" int8 NOT NULL,
  "column_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "column_name_cn" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "dir_id" int8 NOT NULL,
  "data_no" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "data_type" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "range" int4 NOT NULL,
  "data_ex" varchar(255) COLLATE "pg_catalog"."default",
  "data_unit" varchar(255) COLLATE "pg_catalog"."default",
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "org_id" int8 NOT NULL,
  "data_ddl" varchar(255) COLLATE "pg_catalog"."default",
  "del_flag" char(1) COLLATE "pg_catalog"."default" DEFAULT '0'::bpchar
)
;
COMMENT ON COLUMN "tbl_data_org_dir_column"."column_id" IS '【ID】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."column_name" IS '【字段名称】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."column_name_cn" IS '【中文名称】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."dir_id" IS '【组织目录ID】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."data_no" IS '【数据元编码】0是 1否';
COMMENT ON COLUMN "tbl_data_org_dir_column"."data_type" IS '【数据类型】1String 2Integer 3Long 4Decimal';
COMMENT ON COLUMN "tbl_data_org_dir_column"."range" IS '【值域范围】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."data_ex" IS '【数据示例】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."data_unit" IS '【数据单位】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."org_id" IS '【组织架构ID】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."data_ddl" IS '【数据定义】';
COMMENT ON COLUMN "tbl_data_org_dir_column"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON TABLE "tbl_data_org_dir_column" IS '【数据组织元数据信息表】';

-- ----------------------------
-- Table structure for tbl_instit_api_authorize
-- ----------------------------
DROP TABLE IF EXISTS "tbl_instit_api_authorize";
CREATE TABLE "tbl_instit_api_authorize" (
  "id" int8 NOT NULL,
  "instit_id" int8 NOT NULL,
  "api_id" int8 NOT NULL
)
;
COMMENT ON COLUMN "tbl_instit_api_authorize"."id" IS '【ID】';
COMMENT ON COLUMN "tbl_instit_api_authorize"."instit_id" IS '【机构ID】';
COMMENT ON COLUMN "tbl_instit_api_authorize"."api_id" IS '【接口API ID】';
COMMENT ON TABLE "tbl_instit_api_authorize" IS '【机构接口权限表】';

-- ----------------------------
-- Table structure for tbl_instit_api_log
-- ----------------------------
DROP TABLE IF EXISTS "tbl_instit_api_log";
CREATE TABLE "tbl_instit_api_log" (
  "id" int8 NOT NULL,
  "api_id" int8 NOT NULL,
  "caller_id" varchar(50) COLLATE "pg_catalog"."default",
  "caller_ip" varchar(50) COLLATE "pg_catalog"."default",
  "caller_url" varchar(255) COLLATE "pg_catalog"."default",
  "caller_params" varchar(2000) COLLATE "pg_catalog"."default",
  "caller_date" timestamp(6),
  "caller_size" int4,
  "time" int4,
  "msg" varchar(2000) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default",
  "instit_id" int8 NOT NULL
)
;
COMMENT ON COLUMN "tbl_instit_api_log"."id" IS '【主键ID】';
COMMENT ON COLUMN "tbl_instit_api_log"."api_id" IS '【调用api】';
COMMENT ON COLUMN "tbl_instit_api_log"."caller_id" IS '【调用者id】';
COMMENT ON COLUMN "tbl_instit_api_log"."caller_ip" IS '【调用者ip】';
COMMENT ON COLUMN "tbl_instit_api_log"."caller_url" IS '【调用url】';
COMMENT ON COLUMN "tbl_instit_api_log"."caller_params" IS '【调用参数】';
COMMENT ON COLUMN "tbl_instit_api_log"."caller_date" IS '【调用时间】';
COMMENT ON COLUMN "tbl_instit_api_log"."caller_size" IS '【调用数据量】';
COMMENT ON COLUMN "tbl_instit_api_log"."time" IS '【调用耗时】';
COMMENT ON COLUMN "tbl_instit_api_log"."msg" IS '【信息记录】';
COMMENT ON COLUMN "tbl_instit_api_log"."status" IS '【状态】0成功 1失败';
COMMENT ON COLUMN "tbl_instit_api_log"."instit_id" IS '【机构id】';
COMMENT ON TABLE "tbl_instit_api_log" IS '【机构api调用日志信息表】';

-- ----------------------------
-- Table structure for tbl_instit_info
-- ----------------------------
DROP TABLE IF EXISTS "tbl_instit_info";
CREATE TABLE "tbl_instit_info" (
  "instit_id" int8 NOT NULL,
  "instit_no" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "instit_name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "instit_type" char(1) COLLATE "pg_catalog"."default",
  "instit_desc" varchar(255) COLLATE "pg_catalog"."default",
  "salt" varchar(255) COLLATE "pg_catalog"."default",
  "encrypt" varchar(255) COLLATE "pg_catalog"."default",
  "start_time" timestamp(6),
  "end_time" timestamp(6),
  "status" char(1) COLLATE "pg_catalog"."default",
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "del_flag" char(1) COLLATE "pg_catalog"."default" DEFAULT '0'::bpchar
)
;
COMMENT ON COLUMN "tbl_instit_info"."instit_id" IS '【机构ID】';
COMMENT ON COLUMN "tbl_instit_info"."instit_no" IS '【机构号】';
COMMENT ON COLUMN "tbl_instit_info"."instit_name" IS '【机构名称】';
COMMENT ON COLUMN "tbl_instit_info"."instit_type" IS '【机构类型】';
COMMENT ON COLUMN "tbl_instit_info"."instit_desc" IS '【机构描述】';
COMMENT ON COLUMN "tbl_instit_info"."salt" IS '【加盐】';
COMMENT ON COLUMN "tbl_instit_info"."encrypt" IS '【加密】';
COMMENT ON COLUMN "tbl_instit_info"."start_time" IS '【生效时间】';
COMMENT ON COLUMN "tbl_instit_info"."end_time" IS '【到期时间】';
COMMENT ON COLUMN "tbl_instit_info"."status" IS '【状态】0正常 1停用 2到期';
COMMENT ON COLUMN "tbl_instit_info"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_instit_info"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_instit_info"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_instit_info"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_instit_info"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_instit_info"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_instit_info"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON TABLE "tbl_instit_info" IS '【机构管理信息表】';

-- ----------------------------
-- Table structure for tbl_portal_dept
-- ----------------------------
DROP TABLE IF EXISTS "tbl_portal_dept";
CREATE TABLE "tbl_portal_dept" (
  "dept_id" int8 NOT NULL DEFAULT nextval('seq_portal_dept'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "parent_id" int8,
  "ancestors" varchar(50) COLLATE "pg_catalog"."default",
  "dept_name" varchar(30) COLLATE "pg_catalog"."default" NOT NULL,
  "order_num" int4,
  "leader" varchar(20) COLLATE "pg_catalog"."default",
  "phone" varchar(11) COLLATE "pg_catalog"."default",
  "email" varchar(50) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default",
  "del_flag" char(1) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
  "create_by_name" varchar(100) COLLATE "pg_catalog"."default" NOT NULL,
  "create_time" timestamp(6) NOT NULL,
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_by_name" varchar(100) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6)
)
;
COMMENT ON COLUMN "tbl_portal_dept"."dept_id" IS '【部门id】';
COMMENT ON COLUMN "tbl_portal_dept"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_portal_dept"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_portal_dept"."parent_id" IS '【父部门id】';
COMMENT ON COLUMN "tbl_portal_dept"."ancestors" IS '【祖级列表】';
COMMENT ON COLUMN "tbl_portal_dept"."dept_name" IS '【部门名称】';
COMMENT ON COLUMN "tbl_portal_dept"."order_num" IS '【显示顺序】';
COMMENT ON COLUMN "tbl_portal_dept"."leader" IS '【负责人】';
COMMENT ON COLUMN "tbl_portal_dept"."phone" IS '【联系电话】';
COMMENT ON COLUMN "tbl_portal_dept"."email" IS '【邮箱】';
COMMENT ON COLUMN "tbl_portal_dept"."status" IS '【部门状态】0正常 1停用';
COMMENT ON COLUMN "tbl_portal_dept"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON COLUMN "tbl_portal_dept"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_portal_dept"."create_by_name" IS '【 创建用户】';
COMMENT ON COLUMN "tbl_portal_dept"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_portal_dept"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_portal_dept"."update_by_name" IS '【更新用户】';
COMMENT ON COLUMN "tbl_portal_dept"."update_time" IS '【更新时间】';
COMMENT ON TABLE "tbl_portal_dept" IS '【机构表】';

-- ----------------------------
-- Table structure for tbl_portal_logininfor
-- ----------------------------
DROP TABLE IF EXISTS "tbl_portal_logininfor";
CREATE TABLE "tbl_portal_logininfor" (
  "info_id" int8 NOT NULL DEFAULT nextval('seq_portal_logininfor'::regclass),
  "user_name" varchar(50) COLLATE "pg_catalog"."default",
  "ipaddr" varchar(128) COLLATE "pg_catalog"."default",
  "login_location" varchar(255) COLLATE "pg_catalog"."default",
  "browser" varchar(50) COLLATE "pg_catalog"."default",
  "os" varchar(50) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default",
  "msg" varchar(2000) COLLATE "pg_catalog"."default",
  "login_time" timestamp(6)
)
;
COMMENT ON COLUMN "tbl_portal_logininfor"."info_id" IS '【访问ID】';
COMMENT ON COLUMN "tbl_portal_logininfor"."user_name" IS '【用户账号】';
COMMENT ON COLUMN "tbl_portal_logininfor"."ipaddr" IS '【登录IP地址】';
COMMENT ON COLUMN "tbl_portal_logininfor"."login_location" IS '【登录地点】';
COMMENT ON COLUMN "tbl_portal_logininfor"."browser" IS '【浏览器类型】';
COMMENT ON COLUMN "tbl_portal_logininfor"."os" IS '【操作系统】';
COMMENT ON COLUMN "tbl_portal_logininfor"."status" IS '【登录状态】0成功 1失败';
COMMENT ON COLUMN "tbl_portal_logininfor"."msg" IS '【提示消息】';
COMMENT ON COLUMN "tbl_portal_logininfor"."login_time" IS '【访问时间】';
COMMENT ON TABLE "tbl_portal_logininfor" IS '【门户登录日志】';

-- ----------------------------
-- Table structure for tbl_portal_oper_log
-- ----------------------------
DROP TABLE IF EXISTS "tbl_portal_oper_log";
CREATE TABLE "tbl_portal_oper_log" (
  "oper_id" int8 NOT NULL DEFAULT nextval('seq_portal_oper_log'::regclass),
  "title" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
  "business_type" int4,
  "method" varchar(100) COLLATE "pg_catalog"."default",
  "request_method" varchar(10) COLLATE "pg_catalog"."default",
  "operator_type" int4,
  "oper_name" varchar(50) COLLATE "pg_catalog"."default",
  "dept_name" varchar(50) COLLATE "pg_catalog"."default",
  "oper_url" varchar(255) COLLATE "pg_catalog"."default",
  "oper_ip" varchar(128) COLLATE "pg_catalog"."default",
  "oper_location" varchar(255) COLLATE "pg_catalog"."default",
  "oper_param" varchar(2000) COLLATE "pg_catalog"."default",
  "json_result" varchar(2000) COLLATE "pg_catalog"."default",
  "status" int4,
  "error_msg" varchar(2000) COLLATE "pg_catalog"."default",
  "oper_time" timestamp(6)
)
;
COMMENT ON COLUMN "tbl_portal_oper_log"."oper_id" IS '【日志主键】';
COMMENT ON COLUMN "tbl_portal_oper_log"."title" IS '【模块标题】';
COMMENT ON COLUMN "tbl_portal_oper_log"."business_type" IS '【业务类型】0其它 1新增 2修改 3删除';
COMMENT ON COLUMN "tbl_portal_oper_log"."method" IS '【方法名称】';
COMMENT ON COLUMN "tbl_portal_oper_log"."request_method" IS '【请求方式】';
COMMENT ON COLUMN "tbl_portal_oper_log"."operator_type" IS '【操作类别】0其它 1后台用户 2手机端用户';
COMMENT ON COLUMN "tbl_portal_oper_log"."oper_name" IS '【操作人员】';
COMMENT ON COLUMN "tbl_portal_oper_log"."dept_name" IS '【部门名称】';
COMMENT ON COLUMN "tbl_portal_oper_log"."oper_url" IS '【请求URL】';
COMMENT ON COLUMN "tbl_portal_oper_log"."oper_ip" IS '【主机地址】';
COMMENT ON COLUMN "tbl_portal_oper_log"."oper_location" IS '【操作地点】';
COMMENT ON COLUMN "tbl_portal_oper_log"."oper_param" IS '【请求参数】';
COMMENT ON COLUMN "tbl_portal_oper_log"."json_result" IS '【返回参数】';
COMMENT ON COLUMN "tbl_portal_oper_log"."status" IS '【操作状态】0正常 1异常';
COMMENT ON COLUMN "tbl_portal_oper_log"."error_msg" IS '【错误消息】';
COMMENT ON COLUMN "tbl_portal_oper_log"."oper_time" IS '【操作时间】';
COMMENT ON TABLE "tbl_portal_oper_log" IS '【门户操作日志】';

-- ----------------------------
-- Table structure for tbl_portal_user
-- ----------------------------
DROP TABLE IF EXISTS "tbl_portal_user";
CREATE TABLE "tbl_portal_user" (
  "user_id" int8 NOT NULL DEFAULT nextval('seq_portal_user'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "dept_id" int8,
  "user_name" varchar(30) COLLATE "pg_catalog"."default" NOT NULL,
  "nick_name" varchar(30) COLLATE "pg_catalog"."default" NOT NULL,
  "user_type" varchar(2) COLLATE "pg_catalog"."default",
  "email" varchar(50) COLLATE "pg_catalog"."default",
  "phonenumber" varchar(11) COLLATE "pg_catalog"."default",
  "sex" char(1) COLLATE "pg_catalog"."default",
  "avatar" varchar(100) COLLATE "pg_catalog"."default",
  "password" varchar(100) COLLATE "pg_catalog"."default",
  "enterprise_name" varchar(500) COLLATE "pg_catalog"."default",
  "industry_category" varchar(3) COLLATE "pg_catalog"."default",
  "social_credit_code" varchar(50) COLLATE "pg_catalog"."default",
  "enterprise_industry" varchar(500) COLLATE "pg_catalog"."default",
  "enterprise_address" varchar(500) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default",
  "del_flag" char(1) COLLATE "pg_catalog"."default" DEFAULT '0'::bpchar,
  "login_ip" varchar(128) COLLATE "pg_catalog"."default",
  "login_date" timestamp(6),
  "is_locked" char(1) COLLATE "pg_catalog"."default",
  "login_error_count" int4,
  "last_login_error_time" timestamp(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
  "create_by_name" varchar(100) COLLATE "pg_catalog"."default" NOT NULL,
  "create_time" timestamp(6) NOT NULL,
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_by_name" varchar(100) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6)
)
;
COMMENT ON COLUMN "tbl_portal_user"."user_id" IS '【用户ID】';
COMMENT ON COLUMN "tbl_portal_user"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_portal_user"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_portal_user"."dept_id" IS '【所属机构】';
COMMENT ON COLUMN "tbl_portal_user"."user_name" IS '【用户账号】';
COMMENT ON COLUMN "tbl_portal_user"."nick_name" IS '【用户昵称】';
COMMENT ON COLUMN "tbl_portal_user"."user_type" IS '【用户类型】00系统用户';
COMMENT ON COLUMN "tbl_portal_user"."email" IS '【用户邮箱】';
COMMENT ON COLUMN "tbl_portal_user"."phonenumber" IS '【手机号码】';
COMMENT ON COLUMN "tbl_portal_user"."sex" IS '【用户性别】0男 1女 2未知';
COMMENT ON COLUMN "tbl_portal_user"."avatar" IS '【头像地址】';
COMMENT ON COLUMN "tbl_portal_user"."password" IS '【密码】';
COMMENT ON COLUMN "tbl_portal_user"."enterprise_name" IS '【企业名称】';
COMMENT ON COLUMN "tbl_portal_user"."industry_category" IS '【行业类别】';
COMMENT ON COLUMN "tbl_portal_user"."social_credit_code" IS '【社会统一信用代码】';
COMMENT ON COLUMN "tbl_portal_user"."enterprise_industry" IS '【企业行业】';
COMMENT ON COLUMN "tbl_portal_user"."enterprise_address" IS '【enterprise_address】';
COMMENT ON COLUMN "tbl_portal_user"."status" IS '【帐号状态】0正常 1停用';
COMMENT ON COLUMN "tbl_portal_user"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON COLUMN "tbl_portal_user"."login_ip" IS '【最后登录IP】';
COMMENT ON COLUMN "tbl_portal_user"."login_date" IS '【最后登录时间】';
COMMENT ON COLUMN "tbl_portal_user"."is_locked" IS '【锁定状态】';
COMMENT ON COLUMN "tbl_portal_user"."login_error_count" IS '【登陆错误次数】';
COMMENT ON COLUMN "tbl_portal_user"."last_login_error_time" IS '【登陆错误时间】';
COMMENT ON COLUMN "tbl_portal_user"."remark" IS '【备注】';
COMMENT ON COLUMN "tbl_portal_user"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_portal_user"."create_by_name" IS '【 创建用户】';
COMMENT ON COLUMN "tbl_portal_user"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_portal_user"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_portal_user"."update_by_name" IS '【更新用户】';
COMMENT ON COLUMN "tbl_portal_user"."update_time" IS '【更新时间】';
COMMENT ON TABLE "tbl_portal_user" IS '【门户用户信息表】';

-- ----------------------------
-- Table structure for tbl_portal_user_msg
-- ----------------------------
DROP TABLE IF EXISTS "tbl_portal_user_msg";
CREATE TABLE "tbl_portal_user_msg" (
  "msg_id" int8 NOT NULL DEFAULT nextval('seq_portal_user_msg'::regclass),
  "user_id" int8 NOT NULL DEFAULT nextval('seq_sys_user'::regclass),
  "msg_title" varchar(200) COLLATE "pg_catalog"."default",
  "msg_text" varchar(2500) COLLATE "pg_catalog"."default",
  "msg_type" varchar(2) COLLATE "pg_catalog"."default",
  "msg_status" varchar(1) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
  "create_by_name" varchar(100) COLLATE "pg_catalog"."default" NOT NULL,
  "create_time" timestamp(6) NOT NULL,
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_by_name" varchar(100) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6)
)
;
COMMENT ON COLUMN "tbl_portal_user_msg"."msg_id" IS '【主键id】';
COMMENT ON COLUMN "tbl_portal_user_msg"."user_id" IS '【用户ID】';
COMMENT ON COLUMN "tbl_portal_user_msg"."msg_title" IS '【消息标题】';
COMMENT ON COLUMN "tbl_portal_user_msg"."msg_text" IS '【消息内容】';
COMMENT ON COLUMN "tbl_portal_user_msg"."msg_type" IS '【消息类型】';
COMMENT ON COLUMN "tbl_portal_user_msg"."msg_status" IS '【消息状态】';
COMMENT ON COLUMN "tbl_portal_user_msg"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_portal_user_msg"."create_by_name" IS '【 创建用户】';
COMMENT ON COLUMN "tbl_portal_user_msg"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_portal_user_msg"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_portal_user_msg"."update_by_name" IS '【更新用户】';
COMMENT ON COLUMN "tbl_portal_user_msg"."update_time" IS '【更新时间】';
COMMENT ON TABLE "tbl_portal_user_msg" IS '【用户消息表】';

-- ----------------------------
-- Table structure for tbl_sql_console_file
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sql_console_file";
CREATE TABLE "tbl_sql_console_file" (
  "id" int8 NOT NULL DEFAULT nextval('seq_sql_console_file'::regclass),
  "name" varchar(255) COLLATE "pg_catalog"."default" NOT NULL,
  "source_id" int8 NOT NULL,
  "sql_text" text COLLATE "pg_catalog"."default",
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "del_flag" char(1) COLLATE "pg_catalog"."default" DEFAULT '0'::bpchar,
  "user_id" int8 NOT NULL,
  "pid" int8 NOT NULL DEFAULT 0,
  "type" char(1) COLLATE "pg_catalog"."default" NOT NULL DEFAULT 1
)
;
COMMENT ON COLUMN "tbl_sql_console_file"."id" IS '【文件ID】';
COMMENT ON COLUMN "tbl_sql_console_file"."name" IS '【文件名】';
COMMENT ON COLUMN "tbl_sql_console_file"."source_id" IS '【数据元ID】';
COMMENT ON COLUMN "tbl_sql_console_file"."sql_text" IS '【SQL语句】';
COMMENT ON COLUMN "tbl_sql_console_file"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sql_console_file"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sql_console_file"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sql_console_file"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sql_console_file"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sql_console_file"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_sql_console_file"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON COLUMN "tbl_sql_console_file"."user_id" IS '【用户id】';
COMMENT ON COLUMN "tbl_sql_console_file"."pid" IS '【父id】';
COMMENT ON COLUMN "tbl_sql_console_file"."type" IS '【类型】0文件夹 1文件';
COMMENT ON TABLE "tbl_sql_console_file" IS '【SQL工作台文件】';

-- ----------------------------
-- Table structure for tbl_sql_data_apply
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sql_data_apply";
CREATE TABLE "tbl_sql_data_apply" (
  "apply_id" int8 NOT NULL DEFAULT nextval('seq_sql_data_apply'::regclass),
  "user_id" int8 NOT NULL,
  "data_check_strictly" char(1) COLLATE "pg_catalog"."default" DEFAULT '1'::bpchar,
  "end_time" timestamp(6),
  "explain" text COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default" DEFAULT '0'::bpchar,
  "approver" varchar(255) COLLATE "pg_catalog"."default",
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "del_flag" varchar(1) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default",
  "reason" varchar(255) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_sql_data_apply"."apply_id" IS '【申请id】';
COMMENT ON COLUMN "tbl_sql_data_apply"."user_id" IS '【用户id】';
COMMENT ON COLUMN "tbl_sql_data_apply"."data_check_strictly" IS '【数据树选择项是否关联显示】';
COMMENT ON COLUMN "tbl_sql_data_apply"."end_time" IS '【到期时间】';
COMMENT ON COLUMN "tbl_sql_data_apply"."explain" IS '【申请说明】';
COMMENT ON COLUMN "tbl_sql_data_apply"."status" IS '【审批状态】0 待审批 1审批通过 2审批拒绝';
COMMENT ON COLUMN "tbl_sql_data_apply"."approver" IS '【审批人】';
COMMENT ON COLUMN "tbl_sql_data_apply"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sql_data_apply"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sql_data_apply"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON COLUMN "tbl_sql_data_apply"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sql_data_apply"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sql_data_apply"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sql_data_apply"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_sql_data_apply"."remark" IS '【备注】';
COMMENT ON COLUMN "tbl_sql_data_apply"."reason" IS '【拒绝原因】';
COMMENT ON TABLE "tbl_sql_data_apply" IS '【SQL元数据权限申请表】';

-- ----------------------------
-- Table structure for tbl_sql_data_authorize
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sql_data_authorize";
CREATE TABLE "tbl_sql_data_authorize" (
  "id" int8 NOT NULL DEFAULT nextval('seq_data_metadata_authorize'::regclass),
  "object_id" int8 NOT NULL,
  "user_id" int8 NOT NULL,
  "object_type" varchar(10) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_sql_data_authorize"."id" IS '主键ID';
COMMENT ON COLUMN "tbl_sql_data_authorize"."object_id" IS '目标表主键ID';
COMMENT ON COLUMN "tbl_sql_data_authorize"."user_id" IS '用户ID';
COMMENT ON COLUMN "tbl_sql_data_authorize"."object_type" IS '目标表类型';
COMMENT ON TABLE "tbl_sql_data_authorize" IS '【元数据授权信息表】';

-- ----------------------------
-- Table structure for tbl_sys_config
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_config";
CREATE TABLE "tbl_sys_config" (
  "config_id" int8 NOT NULL DEFAULT nextval('seq_sys_config'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "config_name" varchar(100) COLLATE "pg_catalog"."default",
  "config_key" varchar(100) COLLATE "pg_catalog"."default",
  "config_value" varchar(500) COLLATE "pg_catalog"."default",
  "config_type" char(1) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_sys_config"."config_id" IS '【参数主键】';
COMMENT ON COLUMN "tbl_sys_config"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sys_config"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sys_config"."config_name" IS '【参数名称】';
COMMENT ON COLUMN "tbl_sys_config"."config_key" IS '【参数键名】';
COMMENT ON COLUMN "tbl_sys_config"."config_value" IS '【参数键值】';
COMMENT ON COLUMN "tbl_sys_config"."config_type" IS '【系统内置】Y是 N否';
COMMENT ON COLUMN "tbl_sys_config"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sys_config"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sys_config"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sys_config"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_sys_config"."remark" IS '【备注】';
COMMENT ON TABLE "tbl_sys_config" IS '【参数配置表】';

-- ----------------------------
-- Table structure for tbl_sys_dept
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_dept";
CREATE TABLE "tbl_sys_dept" (
  "dept_id" int8 NOT NULL DEFAULT nextval('seq_sys_dept'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "parent_id" int8,
  "ancestors" varchar(50) COLLATE "pg_catalog"."default",
  "dept_name" varchar(30) COLLATE "pg_catalog"."default" NOT NULL,
  "order_num" int4,
  "leader" varchar(20) COLLATE "pg_catalog"."default",
  "phone" varchar(11) COLLATE "pg_catalog"."default",
  "email" varchar(50) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default",
  "del_flag" char(1) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6)
)
;
COMMENT ON COLUMN "tbl_sys_dept"."dept_id" IS '【部门id】';
COMMENT ON COLUMN "tbl_sys_dept"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sys_dept"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sys_dept"."parent_id" IS '【父部门id】';
COMMENT ON COLUMN "tbl_sys_dept"."ancestors" IS '【祖级列表】';
COMMENT ON COLUMN "tbl_sys_dept"."dept_name" IS '【部门名称】';
COMMENT ON COLUMN "tbl_sys_dept"."order_num" IS '【显示顺序】';
COMMENT ON COLUMN "tbl_sys_dept"."leader" IS '【负责人】';
COMMENT ON COLUMN "tbl_sys_dept"."phone" IS '【联系电话】';
COMMENT ON COLUMN "tbl_sys_dept"."email" IS '【邮箱】';
COMMENT ON COLUMN "tbl_sys_dept"."status" IS '【部门状态】0正常 1停用';
COMMENT ON COLUMN "tbl_sys_dept"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON COLUMN "tbl_sys_dept"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sys_dept"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sys_dept"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sys_dept"."update_time" IS '【更新时间】';
COMMENT ON TABLE "tbl_sys_dept" IS '【部门表】';

-- ----------------------------
-- Table structure for tbl_sys_dict_data
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_dict_data";
CREATE TABLE "tbl_sys_dict_data" (
  "dict_code" int8 NOT NULL DEFAULT nextval('seq_sys_dict_data'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "dict_sort" int4,
  "dict_label" varchar(100) COLLATE "pg_catalog"."default",
  "dict_value" varchar(100) COLLATE "pg_catalog"."default",
  "dict_type" varchar(100) COLLATE "pg_catalog"."default" NOT NULL,
  "css_class" varchar(100) COLLATE "pg_catalog"."default",
  "list_class" varchar(100) COLLATE "pg_catalog"."default",
  "is_default" char(1) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_sys_dict_data"."dict_code" IS '【字典编码】';
COMMENT ON COLUMN "tbl_sys_dict_data"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sys_dict_data"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sys_dict_data"."dict_sort" IS '【字典排序】';
COMMENT ON COLUMN "tbl_sys_dict_data"."dict_label" IS '【字典标签】';
COMMENT ON COLUMN "tbl_sys_dict_data"."dict_value" IS '【字典键值】';
COMMENT ON COLUMN "tbl_sys_dict_data"."dict_type" IS '【字典类型】';
COMMENT ON COLUMN "tbl_sys_dict_data"."css_class" IS '【样式属性】其他样式扩展';
COMMENT ON COLUMN "tbl_sys_dict_data"."list_class" IS '【表格回显样式】';
COMMENT ON COLUMN "tbl_sys_dict_data"."is_default" IS '【是否默认】Y是 N否';
COMMENT ON COLUMN "tbl_sys_dict_data"."status" IS '【状态】0正常 1停用';
COMMENT ON COLUMN "tbl_sys_dict_data"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sys_dict_data"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sys_dict_data"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sys_dict_data"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_sys_dict_data"."remark" IS '【备注】';
COMMENT ON TABLE "tbl_sys_dict_data" IS '【字典数据表】';

-- ----------------------------
-- Table structure for tbl_sys_dict_type
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_dict_type";
CREATE TABLE "tbl_sys_dict_type" (
  "dict_id" int8 NOT NULL DEFAULT nextval('seq_sys_dict_type'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "dict_name" varchar(100) COLLATE "pg_catalog"."default",
  "dict_type" varchar(100) COLLATE "pg_catalog"."default" NOT NULL,
  "status" char(1) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_sys_dict_type"."dict_id" IS '【字典主键】';
COMMENT ON COLUMN "tbl_sys_dict_type"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sys_dict_type"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sys_dict_type"."dict_name" IS '【字典名称】';
COMMENT ON COLUMN "tbl_sys_dict_type"."dict_type" IS '【字典类型】';
COMMENT ON COLUMN "tbl_sys_dict_type"."status" IS '【状态】0正常 1停用';
COMMENT ON COLUMN "tbl_sys_dict_type"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sys_dict_type"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sys_dict_type"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sys_dict_type"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_sys_dict_type"."remark" IS '【备注】';
COMMENT ON TABLE "tbl_sys_dict_type" IS '【字典类型表】';

-- ----------------------------
-- Table structure for tbl_sys_job
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_job";
CREATE TABLE "tbl_sys_job" (
  "job_id" int8 NOT NULL DEFAULT nextval('seq_sys_job'::regclass),
  "job_name" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
  "job_group" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL,
  "invoke_target" varchar(500) COLLATE "pg_catalog"."default" NOT NULL,
  "cron_expression" varchar(255) COLLATE "pg_catalog"."default",
  "misfire_policy" varchar(20) COLLATE "pg_catalog"."default",
  "concurrent" char(1) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default",
  "parent_id" int8,
  "level" varchar(200) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_sys_job"."job_id" IS '【任务ID】';
COMMENT ON COLUMN "tbl_sys_job"."job_name" IS '【任务名称】';
COMMENT ON COLUMN "tbl_sys_job"."job_group" IS '【任务组名】';
COMMENT ON COLUMN "tbl_sys_job"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sys_job"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sys_job"."invoke_target" IS '【调用目标字符串】';
COMMENT ON COLUMN "tbl_sys_job"."cron_expression" IS '【cron执行表达式】';
COMMENT ON COLUMN "tbl_sys_job"."misfire_policy" IS '【计划执行错误策略】1立即执行 2执行一次 3放弃执行';
COMMENT ON COLUMN "tbl_sys_job"."concurrent" IS '【是否并发执行】0允许 1禁止';
COMMENT ON COLUMN "tbl_sys_job"."status" IS '【状态】0正常 1暂停';
COMMENT ON COLUMN "tbl_sys_job"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sys_job"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sys_job"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sys_job"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_sys_job"."remark" IS '【备注信息】';
COMMENT ON COLUMN "tbl_sys_job"."parent_id" IS '【父ID】';
COMMENT ON COLUMN "tbl_sys_job"."level" IS '【层级】';
COMMENT ON TABLE "tbl_sys_job" IS '【定时任务调度表】';

-- ----------------------------
-- Table structure for tbl_sys_job_log
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_job_log";
CREATE TABLE "tbl_sys_job_log" (
  "job_log_id" int8 NOT NULL DEFAULT nextval('seq_sys_job_log'::regclass),
  "job_name" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
  "job_group" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
  "invoke_target" varchar(500) COLLATE "pg_catalog"."default" NOT NULL,
  "job_message" varchar(500) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default",
  "exception_info" varchar(2000) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6)
)
;
COMMENT ON COLUMN "tbl_sys_job_log"."job_log_id" IS '【任务日志ID】';
COMMENT ON COLUMN "tbl_sys_job_log"."job_name" IS '【任务名称】';
COMMENT ON COLUMN "tbl_sys_job_log"."job_group" IS '【任务组名】';
COMMENT ON COLUMN "tbl_sys_job_log"."invoke_target" IS '【调用目标字符串】';
COMMENT ON COLUMN "tbl_sys_job_log"."job_message" IS '【日志信息】';
COMMENT ON COLUMN "tbl_sys_job_log"."status" IS '【执行状态】0正常 1失败';
COMMENT ON COLUMN "tbl_sys_job_log"."exception_info" IS '【异常信息】';
COMMENT ON COLUMN "tbl_sys_job_log"."create_time" IS '【创建时间】';
COMMENT ON TABLE "tbl_sys_job_log" IS '【定时任务调度日志表】';

-- ----------------------------
-- Table structure for tbl_sys_logininfor
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_logininfor";
CREATE TABLE "tbl_sys_logininfor" (
  "info_id" int8 NOT NULL DEFAULT nextval('seq_sys_logininfor'::regclass),
  "user_name" varchar(50) COLLATE "pg_catalog"."default",
  "ipaddr" varchar(128) COLLATE "pg_catalog"."default",
  "login_location" varchar(255) COLLATE "pg_catalog"."default",
  "browser" varchar(50) COLLATE "pg_catalog"."default",
  "os" varchar(50) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default",
  "msg" varchar(2000) COLLATE "pg_catalog"."default",
  "login_time" timestamp(6)
)
;
COMMENT ON COLUMN "tbl_sys_logininfor"."info_id" IS '【访问ID】';
COMMENT ON COLUMN "tbl_sys_logininfor"."user_name" IS '【用户账号】';
COMMENT ON COLUMN "tbl_sys_logininfor"."ipaddr" IS '【登录IP地址】';
COMMENT ON COLUMN "tbl_sys_logininfor"."login_location" IS '【登录地点】';
COMMENT ON COLUMN "tbl_sys_logininfor"."browser" IS '【浏览器类型】';
COMMENT ON COLUMN "tbl_sys_logininfor"."os" IS '【操作系统】';
COMMENT ON COLUMN "tbl_sys_logininfor"."status" IS '【登录状态】0成功 1失败';
COMMENT ON COLUMN "tbl_sys_logininfor"."msg" IS '【提示消息】';
COMMENT ON COLUMN "tbl_sys_logininfor"."login_time" IS '【访问时间】';
COMMENT ON TABLE "tbl_sys_logininfor" IS '【系统访问记录】';

-- ----------------------------
-- Table structure for tbl_sys_menu
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_menu";
CREATE TABLE "tbl_sys_menu" (
  "menu_id" int8 NOT NULL DEFAULT nextval('seq_sys_menu'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "menu_name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
  "parent_id" int8 DEFAULT 0,
  "order_num" int4,
  "path" varchar(200) COLLATE "pg_catalog"."default",
  "component" varchar(255) COLLATE "pg_catalog"."default",
  "query_params" varchar(255) COLLATE "pg_catalog"."default",
  "is_frame" char(1) COLLATE "pg_catalog"."default",
  "is_cache" char(1) COLLATE "pg_catalog"."default",
  "url_path" varchar(255) COLLATE "pg_catalog"."default",
  "url_method" varchar(20) COLLATE "pg_catalog"."default",
  "url_opr_type" varchar(20) COLLATE "pg_catalog"."default",
  "url_check_flag" char(1) COLLATE "pg_catalog"."default",
  "menu_type" char(1) COLLATE "pg_catalog"."default",
  "visible" char(1) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default",
  "perms" varchar(100) COLLATE "pg_catalog"."default",
  "icon" varchar(100) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_sys_menu"."menu_id" IS '【菜单ID】';
COMMENT ON COLUMN "tbl_sys_menu"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sys_menu"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sys_menu"."menu_name" IS '【菜单名称】';
COMMENT ON COLUMN "tbl_sys_menu"."parent_id" IS '【父菜单ID】';
COMMENT ON COLUMN "tbl_sys_menu"."order_num" IS '【显示顺序】';
COMMENT ON COLUMN "tbl_sys_menu"."path" IS '【路由地址】';
COMMENT ON COLUMN "tbl_sys_menu"."component" IS '【组件路径】';
COMMENT ON COLUMN "tbl_sys_menu"."query_params" IS '【路由参数】';
COMMENT ON COLUMN "tbl_sys_menu"."is_frame" IS '【是否为外链】0是 1否';
COMMENT ON COLUMN "tbl_sys_menu"."is_cache" IS '【是否缓存】0缓存 1不缓存';
COMMENT ON COLUMN "tbl_sys_menu"."url_path" IS '【url路径】';
COMMENT ON COLUMN "tbl_sys_menu"."url_method" IS '【URL请求方式】由于restful风格同名，因此需要GET,POST等';
COMMENT ON COLUMN "tbl_sys_menu"."url_opr_type" IS '【url操作类型】为了更便捷分配同类型资源，query：查询 ，add：新增，edit：编辑。。。';
COMMENT ON COLUMN "tbl_sys_menu"."url_check_flag" IS '【url网关校验标志】为空或0则不校验；1校验；';
COMMENT ON COLUMN "tbl_sys_menu"."menu_type" IS '【菜单类型】M目录 C菜单 F按钮';
COMMENT ON COLUMN "tbl_sys_menu"."visible" IS '【菜单显示状态】0显示 1隐藏';
COMMENT ON COLUMN "tbl_sys_menu"."status" IS '【菜单状态】0正常 1停用';
COMMENT ON COLUMN "tbl_sys_menu"."perms" IS '【权限标识】';
COMMENT ON COLUMN "tbl_sys_menu"."icon" IS '【菜单图标】';
COMMENT ON COLUMN "tbl_sys_menu"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sys_menu"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sys_menu"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sys_menu"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_sys_menu"."remark" IS '【备注】';
COMMENT ON TABLE "tbl_sys_menu" IS '【菜单权限表】';

-- ----------------------------
-- Table structure for tbl_sys_notice
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_notice";
CREATE TABLE "tbl_sys_notice" (
  "notice_id" int4 NOT NULL DEFAULT nextval('seq_sys_notice'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "notice_title" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
  "notice_type" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "notice_content" bytea,
  "status" char(1) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(255) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_sys_notice"."notice_id" IS '【公告ID】';
COMMENT ON COLUMN "tbl_sys_notice"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sys_notice"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sys_notice"."notice_title" IS '【公告标题】';
COMMENT ON COLUMN "tbl_sys_notice"."notice_type" IS '【公告类型】1通知 2公告';
COMMENT ON COLUMN "tbl_sys_notice"."notice_content" IS '【公告内容】';
COMMENT ON COLUMN "tbl_sys_notice"."status" IS '【公告状态】0正常 1关闭';
COMMENT ON COLUMN "tbl_sys_notice"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sys_notice"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sys_notice"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sys_notice"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_sys_notice"."remark" IS '【备注】';
COMMENT ON TABLE "tbl_sys_notice" IS '【通知公告表】';

-- ----------------------------
-- Table structure for tbl_sys_oper_log
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_oper_log";
CREATE TABLE "tbl_sys_oper_log" (
  "oper_id" int8 NOT NULL DEFAULT nextval('seq_sys_oper_log'::regclass),
  "title" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
  "business_type" int4,
  "method" varchar(100) COLLATE "pg_catalog"."default",
  "request_method" varchar(10) COLLATE "pg_catalog"."default",
  "operator_type" int4,
  "oper_name" varchar(50) COLLATE "pg_catalog"."default",
  "dept_name" varchar(50) COLLATE "pg_catalog"."default",
  "oper_url" varchar(255) COLLATE "pg_catalog"."default",
  "oper_ip" varchar(128) COLLATE "pg_catalog"."default",
  "oper_location" varchar(255) COLLATE "pg_catalog"."default",
  "oper_param" varchar(2000) COLLATE "pg_catalog"."default",
  "json_result" varchar(2000) COLLATE "pg_catalog"."default",
  "status" int4,
  "error_msg" varchar(2000) COLLATE "pg_catalog"."default",
  "oper_time" timestamp(6)
)
;
COMMENT ON COLUMN "tbl_sys_oper_log"."oper_id" IS '【日志主键】';
COMMENT ON COLUMN "tbl_sys_oper_log"."title" IS '【模块标题】';
COMMENT ON COLUMN "tbl_sys_oper_log"."business_type" IS '【业务类型】0其它 1新增 2修改 3删除';
COMMENT ON COLUMN "tbl_sys_oper_log"."method" IS '【方法名称】';
COMMENT ON COLUMN "tbl_sys_oper_log"."request_method" IS '【请求方式】';
COMMENT ON COLUMN "tbl_sys_oper_log"."operator_type" IS '【操作类别】0其它 1后台用户 2手机端用户';
COMMENT ON COLUMN "tbl_sys_oper_log"."oper_name" IS '【操作人员】';
COMMENT ON COLUMN "tbl_sys_oper_log"."dept_name" IS '【部门名称】';
COMMENT ON COLUMN "tbl_sys_oper_log"."oper_url" IS '【请求URL】';
COMMENT ON COLUMN "tbl_sys_oper_log"."oper_ip" IS '【主机地址】';
COMMENT ON COLUMN "tbl_sys_oper_log"."oper_location" IS '【操作地点】';
COMMENT ON COLUMN "tbl_sys_oper_log"."oper_param" IS '【请求参数】';
COMMENT ON COLUMN "tbl_sys_oper_log"."json_result" IS '【返回参数】';
COMMENT ON COLUMN "tbl_sys_oper_log"."status" IS '【操作状态】0正常 1异常';
COMMENT ON COLUMN "tbl_sys_oper_log"."error_msg" IS '【错误消息】';
COMMENT ON COLUMN "tbl_sys_oper_log"."oper_time" IS '【操作时间】';
COMMENT ON TABLE "tbl_sys_oper_log" IS '【操作日志记录】';

-- ----------------------------
-- Table structure for tbl_sys_post
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_post";
CREATE TABLE "tbl_sys_post" (
  "post_id" int8 NOT NULL DEFAULT nextval('seq_sys_post'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "post_code" varchar(64) COLLATE "pg_catalog"."default" NOT NULL,
  "post_name" varchar(50) COLLATE "pg_catalog"."default" NOT NULL,
  "post_sort" int4 NOT NULL,
  "status" char(1) COLLATE "pg_catalog"."default" NOT NULL,
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_sys_post"."post_id" IS '【岗位ID】';
COMMENT ON COLUMN "tbl_sys_post"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sys_post"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sys_post"."post_code" IS '【岗位编码】';
COMMENT ON COLUMN "tbl_sys_post"."post_name" IS '【岗位名称】';
COMMENT ON COLUMN "tbl_sys_post"."post_sort" IS '【显示顺序】';
COMMENT ON COLUMN "tbl_sys_post"."status" IS '【状态】0正常 1停用';
COMMENT ON COLUMN "tbl_sys_post"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sys_post"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sys_post"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sys_post"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_sys_post"."remark" IS '【备注】';
COMMENT ON TABLE "tbl_sys_post" IS '【岗位信息表】';

-- ----------------------------
-- Table structure for tbl_sys_role
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_role";
CREATE TABLE "tbl_sys_role" (
  "role_id" int8 NOT NULL DEFAULT nextval('seq_sys_role'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "role_name" varchar(30) COLLATE "pg_catalog"."default" NOT NULL,
  "role_key" varchar(100) COLLATE "pg_catalog"."default" NOT NULL,
  "role_sort" int4 NOT NULL,
  "data_scope" varchar(1) COLLATE "pg_catalog"."default",
  "menu_check_strictly" varchar(1) COLLATE "pg_catalog"."default",
  "dept_check_strictly" varchar(1) COLLATE "pg_catalog"."default",
  "status" varchar(1) COLLATE "pg_catalog"."default" NOT NULL,
  "del_flag" varchar(1) COLLATE "pg_catalog"."default",
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_sys_role"."role_id" IS '【角色ID】';
COMMENT ON COLUMN "tbl_sys_role"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sys_role"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sys_role"."role_name" IS '【角色名称】';
COMMENT ON COLUMN "tbl_sys_role"."role_key" IS '【角色权限字符串】';
COMMENT ON COLUMN "tbl_sys_role"."role_sort" IS '【显示顺序】';
COMMENT ON COLUMN "tbl_sys_role"."data_scope" IS '【数据范围】1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限';
COMMENT ON COLUMN "tbl_sys_role"."menu_check_strictly" IS '【菜单树选择项是否关联显示】';
COMMENT ON COLUMN "tbl_sys_role"."dept_check_strictly" IS '【部门树选择项是否关联显示】';
COMMENT ON COLUMN "tbl_sys_role"."status" IS '【角色状态】0正常 1停用';
COMMENT ON COLUMN "tbl_sys_role"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON COLUMN "tbl_sys_role"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sys_role"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sys_role"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sys_role"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_sys_role"."remark" IS '【备注】';
COMMENT ON TABLE "tbl_sys_role" IS '【角色信息表】';

-- ----------------------------
-- Table structure for tbl_sys_role_dept
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_role_dept";
CREATE TABLE "tbl_sys_role_dept" (
  "role_id" int8 NOT NULL,
  "dept_id" int8 NOT NULL
)
;
COMMENT ON COLUMN "tbl_sys_role_dept"."role_id" IS '【角色ID】';
COMMENT ON COLUMN "tbl_sys_role_dept"."dept_id" IS '【部门ID】';
COMMENT ON TABLE "tbl_sys_role_dept" IS '【角色和部门关联表】';

-- ----------------------------
-- Table structure for tbl_sys_role_menu
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_role_menu";
CREATE TABLE "tbl_sys_role_menu" (
  "role_id" int8 NOT NULL,
  "menu_id" int8 NOT NULL
)
;
COMMENT ON COLUMN "tbl_sys_role_menu"."role_id" IS '【角色ID】';
COMMENT ON COLUMN "tbl_sys_role_menu"."menu_id" IS '【菜单ID】';
COMMENT ON TABLE "tbl_sys_role_menu" IS '【角色和菜单关联表】';

-- ----------------------------
-- Table structure for tbl_sys_user
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_user";
CREATE TABLE "tbl_sys_user" (
  "user_id" int8 NOT NULL DEFAULT nextval('seq_sys_user'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "dept_id" int8,
  "user_name" varchar(30) COLLATE "pg_catalog"."default" NOT NULL,
  "nick_name" varchar(30) COLLATE "pg_catalog"."default" NOT NULL,
  "user_type" varchar(2) COLLATE "pg_catalog"."default",
  "email" varchar(50) COLLATE "pg_catalog"."default",
  "phonenumber" varchar(11) COLLATE "pg_catalog"."default",
  "sex" char(1) COLLATE "pg_catalog"."default",
  "avatar" varchar(100) COLLATE "pg_catalog"."default",
  "password" varchar(100) COLLATE "pg_catalog"."default",
  "status" char(1) COLLATE "pg_catalog"."default",
  "del_flag" char(1) COLLATE "pg_catalog"."default" DEFAULT '0'::bpchar,
  "login_ip" varchar(128) COLLATE "pg_catalog"."default",
  "login_date" timestamp(6),
  "is_locked" char(1) COLLATE "pg_catalog"."default",
  "login_error_count" int4,
  "last_login_error_time" timestamp(6),
  "create_by" varchar(64) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(64) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6),
  "remark" varchar(500) COLLATE "pg_catalog"."default"
)
;
COMMENT ON COLUMN "tbl_sys_user"."user_id" IS '【用户ID】';
COMMENT ON COLUMN "tbl_sys_user"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sys_user"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sys_user"."dept_id" IS '【部门ID】';
COMMENT ON COLUMN "tbl_sys_user"."user_name" IS '【用户账号】';
COMMENT ON COLUMN "tbl_sys_user"."nick_name" IS '【用户昵称】';
COMMENT ON COLUMN "tbl_sys_user"."user_type" IS '【用户类型】00系统用户';
COMMENT ON COLUMN "tbl_sys_user"."email" IS '【用户邮箱】';
COMMENT ON COLUMN "tbl_sys_user"."phonenumber" IS '【手机号码】';
COMMENT ON COLUMN "tbl_sys_user"."sex" IS '【用户性别】0男 1女 2未知';
COMMENT ON COLUMN "tbl_sys_user"."avatar" IS '【头像地址】';
COMMENT ON COLUMN "tbl_sys_user"."password" IS '【密码】';
COMMENT ON COLUMN "tbl_sys_user"."status" IS '【帐号状态】0正常 1停用';
COMMENT ON COLUMN "tbl_sys_user"."del_flag" IS '【删除标志】0代表存在 2代表删除';
COMMENT ON COLUMN "tbl_sys_user"."login_ip" IS '【最后登录IP】';
COMMENT ON COLUMN "tbl_sys_user"."login_date" IS '【最后登录时间】';
COMMENT ON COLUMN "tbl_sys_user"."is_locked" IS '【锁定状态】';
COMMENT ON COLUMN "tbl_sys_user"."login_error_count" IS '【登陆错误次数】';
COMMENT ON COLUMN "tbl_sys_user"."last_login_error_time" IS '【登陆错误时间】';
COMMENT ON COLUMN "tbl_sys_user"."create_by" IS '【创建者】';
COMMENT ON COLUMN "tbl_sys_user"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sys_user"."update_by" IS '【更新者】';
COMMENT ON COLUMN "tbl_sys_user"."update_time" IS '【更新时间】';
COMMENT ON COLUMN "tbl_sys_user"."remark" IS '【备注】';
COMMENT ON TABLE "tbl_sys_user" IS '【用户信息表】';

-- ----------------------------
-- Table structure for tbl_sys_user_post
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_user_post";
CREATE TABLE "tbl_sys_user_post" (
  "user_id" int8 NOT NULL,
  "post_id" int8 NOT NULL
)
;
COMMENT ON COLUMN "tbl_sys_user_post"."user_id" IS '【用户ID】';
COMMENT ON COLUMN "tbl_sys_user_post"."post_id" IS '【岗位ID】';
COMMENT ON TABLE "tbl_sys_user_post" IS '【用户与岗位关联表】';

-- ----------------------------
-- Table structure for tbl_sys_user_role
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_user_role";
CREATE TABLE "tbl_sys_user_role" (
  "user_id" int8 NOT NULL,
  "role_id" int8 NOT NULL
)
;
COMMENT ON COLUMN "tbl_sys_user_role"."user_id" IS '【用户ID】';
COMMENT ON COLUMN "tbl_sys_user_role"."role_id" IS '【角色ID】';
COMMENT ON TABLE "tbl_sys_user_role" IS '【用户和角色关联表】';

-- ----------------------------
-- Table structure for tbl_sys_warning_contact
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_warning_contact";
CREATE TABLE "tbl_sys_warning_contact" (
  "id" int8 NOT NULL DEFAULT nextval('seq_sys_warning_contact'::regclass),
  "version_num" int4 NOT NULL DEFAULT 0,
  "rec_token" varchar(10) COLLATE "pg_catalog"."default" NOT NULL DEFAULT '1'::character varying,
  "warning_type" varchar(32) COLLATE "pg_catalog"."default" NOT NULL,
  "contact_type" varchar(32) COLLATE "pg_catalog"."default" NOT NULL,
  "contact" varchar(32) COLLATE "pg_catalog"."default" NOT NULL,
  "status" varchar(32) COLLATE "pg_catalog"."default" NOT NULL,
  "create_by" varchar(32) COLLATE "pg_catalog"."default",
  "create_time" timestamp(6),
  "update_by" varchar(32) COLLATE "pg_catalog"."default",
  "update_time" timestamp(6)
)
;
COMMENT ON COLUMN "tbl_sys_warning_contact"."id" IS '【主键id】';
COMMENT ON COLUMN "tbl_sys_warning_contact"."version_num" IS '【版本号】';
COMMENT ON COLUMN "tbl_sys_warning_contact"."rec_token" IS '【随机码】';
COMMENT ON COLUMN "tbl_sys_warning_contact"."warning_type" IS '【告警场景】';
COMMENT ON COLUMN "tbl_sys_warning_contact"."contact_type" IS '【类型】手机号:01 邮箱:02';
COMMENT ON COLUMN "tbl_sys_warning_contact"."contact" IS '【联系方式】';
COMMENT ON COLUMN "tbl_sys_warning_contact"."status" IS '【状态】正常:00 停用:01 删除:03';
COMMENT ON COLUMN "tbl_sys_warning_contact"."create_by" IS '【创建人】';
COMMENT ON COLUMN "tbl_sys_warning_contact"."create_time" IS '【创建时间】';
COMMENT ON COLUMN "tbl_sys_warning_contact"."update_by" IS '【更新人】';
COMMENT ON COLUMN "tbl_sys_warning_contact"."update_time" IS '【更新时间】';
COMMENT ON TABLE "tbl_sys_warning_contact" IS '【告警联系方式表】';

-- ----------------------------
-- Table structure for tbl_sys_warning_log
-- ----------------------------
DROP TABLE IF EXISTS "tbl_sys_warning_log";
CREATE TABLE "tbl_sys_warning_log" (
  "id" int8 NOT NULL DEFAULT nextval('seq_sys_warning_log'::regclass),
  "contact_type" varchar(32) COLLATE "pg_catalog"."default",
  "warning_type" varchar(32) COLLATE "pg_catalog"."default",
  "contact" varchar(32) COLLATE "pg_catalog"."default",
  "title" varchar(128) COLLATE "pg_catalog"."default",
  "content" varchar(1024) COLLATE "pg_catalog"."default",
  "status" varchar(32) COLLATE "pg_catalog"."default",
  "send_time" timestamp(6)
)
;
COMMENT ON COLUMN "tbl_sys_warning_log"."id" IS '【主键 id】';
COMMENT ON COLUMN "tbl_sys_warning_log"."contact_type" IS '【发送方式】';
COMMENT ON COLUMN "tbl_sys_warning_log"."warning_type" IS '【告警场景】';
COMMENT ON COLUMN "tbl_sys_warning_log"."contact" IS '【发送地址】';
COMMENT ON COLUMN "tbl_sys_warning_log"."title" IS '【标题】';
COMMENT ON COLUMN "tbl_sys_warning_log"."content" IS '【发送内容】';
COMMENT ON COLUMN "tbl_sys_warning_log"."status" IS '【状态】';
COMMENT ON COLUMN "tbl_sys_warning_log"."send_time" IS '【发送时间】';
COMMENT ON TABLE "tbl_sys_warning_log" IS '【告警记录表】';

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_data_market_api"', 10, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_data_market_api_log"', 48, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_data_market_api_mask"', 3, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_data_metadata_authorize"', 122, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_data_metadata_change_record"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_data_metadata_column"', 8080, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_data_metadata_source"', 7, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_data_metadata_table"', 846, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_gen_table"', 2, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_gen_table_column"', 21, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_portal_dept"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_portal_logininfor"', 19, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_portal_oper_log"', 1, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_portal_phone_msg_log"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_portal_upload_files"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_portal_user"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_portal_user_msg"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sql_console_file"', 18, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sql_data_apply"', 7, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_config"', 4, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_dept"', 3, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_dict_data"', 50, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_dict_type"', 28, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_job"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_job_log"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_logininfor"', 717, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_menu"', 3073, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_notice"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_oper_log"', 222, true);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_post"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_role"', 3, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_user"', 2, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_warning_contact"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_sys_warning_log"', 1, false);

-- ----------------------------
-- Alter sequences owned by
-- ----------------------------
SELECT setval('"seq_test_t_t"', 1, false);

-- ----------------------------
-- Primary Key structure for table gen_table
-- ----------------------------
ALTER TABLE "gen_table" ADD CONSTRAINT "gen_table_pkey" PRIMARY KEY ("table_id");

-- ----------------------------
-- Primary Key structure for table gen_table_column
-- ----------------------------
ALTER TABLE "gen_table_column" ADD CONSTRAINT "gen_table_column_pkey" PRIMARY KEY ("column_id");

-- ----------------------------
-- Primary Key structure for table tbl_data_market_api
-- ----------------------------
ALTER TABLE "tbl_data_market_api" ADD CONSTRAINT "market_api_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table tbl_data_market_api_log
-- ----------------------------
ALTER TABLE "tbl_data_market_api_log" ADD CONSTRAINT "market_api_log_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table tbl_data_market_api_mask
-- ----------------------------
ALTER TABLE "tbl_data_market_api_mask" ADD CONSTRAINT "market_api_mask_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table tbl_data_metadata_column
-- ----------------------------
ALTER TABLE "tbl_data_metadata_column" ADD CONSTRAINT "metadata_column_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table tbl_data_metadata_source
-- ----------------------------
ALTER TABLE "tbl_data_metadata_source" ADD CONSTRAINT "metadata_source_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table tbl_data_metadata_table
-- ----------------------------
ALTER TABLE "tbl_data_metadata_table" ADD CONSTRAINT "metadata_table_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table tbl_data_org
-- ----------------------------
ALTER TABLE "tbl_data_org" ADD CONSTRAINT "tbl_data_org_pkey" PRIMARY KEY ("org_id");

-- ----------------------------
-- Primary Key structure for table tbl_data_org_dir
-- ----------------------------
ALTER TABLE "tbl_data_org_dir" ADD CONSTRAINT "tbl_data_org_dir_pkey" PRIMARY KEY ("dir_id");

-- ----------------------------
-- Primary Key structure for table tbl_data_org_dir_column
-- ----------------------------
ALTER TABLE "tbl_data_org_dir_column" ADD CONSTRAINT "tbl_data_org_dir_column_pkey" PRIMARY KEY ("column_id");

-- ----------------------------
-- Primary Key structure for table tbl_instit_api_authorize
-- ----------------------------
ALTER TABLE "tbl_instit_api_authorize" ADD CONSTRAINT "tbl_instit_api_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table tbl_instit_api_log
-- ----------------------------
ALTER TABLE "tbl_instit_api_log" ADD CONSTRAINT "tbl_instit_api_log_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table tbl_instit_info
-- ----------------------------
ALTER TABLE "tbl_instit_info" ADD CONSTRAINT "tbl_instit_info_pkey" PRIMARY KEY ("instit_id");

-- ----------------------------
-- Primary Key structure for table tbl_portal_dept
-- ----------------------------
ALTER TABLE "tbl_portal_dept" ADD CONSTRAINT "pk_tbl_portal_dept" PRIMARY KEY ("dept_id");

-- ----------------------------
-- Primary Key structure for table tbl_portal_logininfor
-- ----------------------------
ALTER TABLE "tbl_portal_logininfor" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("info_id");

-- ----------------------------
-- Primary Key structure for table tbl_portal_oper_log
-- ----------------------------
ALTER TABLE "tbl_portal_oper_log" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("oper_id");

-- ----------------------------
-- Primary Key structure for table tbl_portal_user
-- ----------------------------
ALTER TABLE "tbl_portal_user" ADD CONSTRAINT "pk_tbl_portal_user" PRIMARY KEY ("user_id");

-- ----------------------------
-- Primary Key structure for table tbl_portal_user_msg
-- ----------------------------
ALTER TABLE "tbl_portal_user_msg" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("msg_id");

-- ----------------------------
-- Primary Key structure for table tbl_sql_console_file
-- ----------------------------
ALTER TABLE "tbl_sql_console_file" ADD CONSTRAINT "tbl_sql_console_file_pkey" PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table tbl_sql_data_apply
-- ----------------------------
ALTER TABLE "tbl_sql_data_apply" ADD CONSTRAINT "tbl_sql_data_apply_pkey" PRIMARY KEY ("apply_id");

-- ----------------------------
-- Primary Key structure for table tbl_sql_data_authorize
-- ----------------------------
ALTER TABLE "tbl_sql_data_authorize" ADD CONSTRAINT "metadata_authorize_pkey" PRIMARY KEY ("id", "object_id", "user_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_config
-- ----------------------------
ALTER TABLE "tbl_sys_config" ADD CONSTRAINT "pk_tbl_sys_config" PRIMARY KEY ("config_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_dept
-- ----------------------------
ALTER TABLE "tbl_sys_dept" ADD CONSTRAINT "pk_tbl_sys_dept" PRIMARY KEY ("dept_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_dict_data
-- ----------------------------
ALTER TABLE "tbl_sys_dict_data" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("dict_code");

-- ----------------------------
-- Primary Key structure for table tbl_sys_dict_type
-- ----------------------------
ALTER TABLE "tbl_sys_dict_type" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("dict_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_job
-- ----------------------------
ALTER TABLE "tbl_sys_job" ADD CONSTRAINT "pk_tbl_sys_job" PRIMARY KEY ("job_id", "job_name", "job_group");

-- ----------------------------
-- Primary Key structure for table tbl_sys_job_log
-- ----------------------------
ALTER TABLE "tbl_sys_job_log" ADD CONSTRAINT "pk_tbl_sys_job_log" PRIMARY KEY ("job_log_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_logininfor
-- ----------------------------
ALTER TABLE "tbl_sys_logininfor" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("info_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_menu
-- ----------------------------
ALTER TABLE "tbl_sys_menu" ADD CONSTRAINT "pk_tbl_sys_menu" PRIMARY KEY ("menu_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_notice
-- ----------------------------
ALTER TABLE "tbl_sys_notice" ADD CONSTRAINT "pk_tbl_sys_notice" PRIMARY KEY ("notice_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_oper_log
-- ----------------------------
ALTER TABLE "tbl_sys_oper_log" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("oper_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_post
-- ----------------------------
ALTER TABLE "tbl_sys_post" ADD CONSTRAINT "pk_tbl_sys_post" PRIMARY KEY ("post_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_role
-- ----------------------------
ALTER TABLE "tbl_sys_role" ADD CONSTRAINT "pk_tbl_sys_role" PRIMARY KEY ("role_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_role_dept
-- ----------------------------
ALTER TABLE "tbl_sys_role_dept" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("role_id", "dept_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_role_menu
-- ----------------------------
ALTER TABLE "tbl_sys_role_menu" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("role_id", "menu_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_user
-- ----------------------------
ALTER TABLE "tbl_sys_user" ADD CONSTRAINT "pk_tbl_sys_user" PRIMARY KEY ("user_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_user_post
-- ----------------------------
ALTER TABLE "tbl_sys_user_post" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("user_id", "post_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_user_role
-- ----------------------------
ALTER TABLE "tbl_sys_user_role" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("user_id", "role_id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_warning_contact
-- ----------------------------
ALTER TABLE "tbl_sys_warning_contact" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("id");

-- ----------------------------
-- Primary Key structure for table tbl_sys_warning_log
-- ----------------------------
ALTER TABLE "tbl_sys_warning_log" ADD CONSTRAINT "[REDACTED] PRIMARY KEY ("id");
