From 6ea777d584e70a8480a3eebff66b640e4a4bed7b Mon Sep 17 00:00:00 2001 From: gssong <1742057357@qq.com> Date: 星期一, 08 四月 2024 21:32:27 +0800 Subject: [PATCH] Merge branch 'dev' of https://gitee.com/dromara/RuoYi-Vue-Plus into dev --- script/sql/postgres/easy_retry_postgre.sql | 805 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 805 insertions(+), 0 deletions(-) diff --git a/script/sql/postgres/easy_retry_postgre.sql b/script/sql/postgres/easy_retry_postgre.sql new file mode 100644 index 0000000..62801e9 --- /dev/null +++ b/script/sql/postgres/easy_retry_postgre.sql @@ -0,0 +1,805 @@ +-- PostgreSQL DDL + +CREATE TABLE er_namespace +( + id BIGSERIAL PRIMARY KEY, + name VARCHAR(64) NOT NULL, + unique_id VARCHAR(64) NOT NULL, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0 +); + +CREATE UNIQUE INDEX uk_namespace_unique_id ON er_namespace (unique_id); + +COMMENT ON COLUMN er_namespace.id IS '涓婚敭'; +COMMENT ON COLUMN er_namespace.name IS '鍚嶇О'; +COMMENT ON COLUMN er_namespace.unique_id IS '鍞竴id'; +COMMENT ON COLUMN er_namespace.description IS '鎻忚堪'; +COMMENT ON COLUMN er_namespace.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_namespace.update_dt IS '淇敼鏃堕棿'; +COMMENT ON COLUMN er_namespace.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�'; +COMMENT ON TABLE er_namespace IS '鍛藉悕绌洪棿'; + +INSERT INTO er_namespace VALUES (1, 'Development', 'dev', '', now(), now(), 0); +INSERT INTO er_namespace VALUES (2, 'Production', 'prod', '', now(), now(), 0); + +CREATE TABLE er_group_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + description VARCHAR(256) DEFAULT '', + token VARCHAR(64) DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', + group_status SMALLINT NOT NULL DEFAULT 0, + version INT NOT NULL, + group_partition INT NOT NULL, + id_generator_mode SMALLINT NOT NULL DEFAULT 1, + init_scene SMALLINT NOT NULL DEFAULT 0, + bucket_index INT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name_group_config ON er_group_config (namespace_id, group_name); + +COMMENT ON COLUMN er_group_config.id IS '涓婚敭'; +COMMENT ON COLUMN er_group_config.namespace_id IS '鍛藉悕绌洪棿'; +COMMENT ON COLUMN er_group_config.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_group_config.description IS '缁勬弿杩�'; +COMMENT ON COLUMN er_group_config.token IS 'token'; +COMMENT ON COLUMN er_group_config.group_status IS '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�'; +COMMENT ON COLUMN er_group_config.version IS '鐗堟湰鍙�'; +COMMENT ON COLUMN er_group_config.group_partition IS '鍒嗗尯'; +COMMENT ON COLUMN er_group_config.id_generator_mode IS '鍞竴id鐢熸垚妯″紡 榛樿鍙锋妯″紡'; +COMMENT ON COLUMN er_group_config.init_scene IS '鏄惁鍒濆鍖栧満鏅� 0:鍚� 1:鏄�'; +COMMENT ON COLUMN er_group_config.bucket_index IS 'bucket'; +COMMENT ON COLUMN er_group_config.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_group_config.update_dt IS '淇敼鏃堕棿'; +COMMENT ON TABLE er_group_config IS '缁勯厤缃�'; + +INSERT INTO er_group_config VALUES (1, 'dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now()); + +CREATE TABLE er_notify_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + notify_status SMALLINT NOT NULL DEFAULT 0, + notify_type SMALLINT NOT NULL DEFAULT 0, + notify_attribute VARCHAR(512) NOT NULL, + notify_threshold INT NOT NULL DEFAULT 0, + notify_scene SMALLINT NOT NULL DEFAULT 0, + rate_limiter_status SMALLINT NOT NULL DEFAULT 0, + rate_limiter_threshold INT NOT NULL DEFAULT 0, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_namespace_id_group_name_notify_config ON er_notify_config (namespace_id, group_name); + +COMMENT ON COLUMN er_notify_config.id IS '涓婚敭'; +COMMENT ON COLUMN er_notify_config.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_notify_config.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_notify_config.scene_name IS '鍦烘櫙鍚嶇О'; +COMMENT ON COLUMN er_notify_config.notify_status IS '閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�'; +COMMENT ON COLUMN er_notify_config.notify_type IS '閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇�'; +COMMENT ON COLUMN er_notify_config.notify_attribute IS '閰嶇疆灞炴��'; +COMMENT ON COLUMN er_notify_config.notify_threshold IS '閫氱煡闃堝��'; +COMMENT ON COLUMN er_notify_config.notify_scene IS '閫氱煡鍦烘櫙'; +COMMENT ON COLUMN er_notify_config.rate_limiter_status IS '闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�'; +COMMENT ON COLUMN er_notify_config.rate_limiter_threshold IS '姣忕闄愭祦闃堝��'; +COMMENT ON COLUMN er_notify_config.description IS '鎻忚堪'; +COMMENT ON COLUMN er_notify_config.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_notify_config.update_dt IS '淇敼鏃堕棿'; +COMMENT ON TABLE er_notify_config IS '閫氱煡閰嶇疆'; + + +CREATE TABLE er_retry_dead_letter_0 +( + id BIGSERIAL PRIMARY KEY, + unique_id VARCHAR(64) NOT NULL, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + idempotent_id VARCHAR(64) NOT NULL, + biz_no VARCHAR(64) NOT NULL DEFAULT '', + executor_name VARCHAR(512) NOT NULL DEFAULT '', + args_str TEXT NOT NULL, + ext_attrs TEXT NOT NULL, + task_type SMALLINT NOT NULL DEFAULT 1, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name_unique_id_retry_dead_letter ON er_retry_dead_letter_0 (namespace_id, group_name, unique_id); +CREATE INDEX idx_namespace_id_group_name_scene_name_retry_dead_letter ON er_retry_dead_letter_0 (namespace_id, group_name, scene_name); +CREATE INDEX idx_idempotent_id_retry_dead_letter ON er_retry_dead_letter_0 (idempotent_id); +CREATE INDEX idx_biz_no_retry_dead_letter ON er_retry_dead_letter_0 (biz_no); +CREATE INDEX idx_create_dt_retry_dead_letter ON er_retry_dead_letter_0 (create_dt); + +COMMENT ON COLUMN er_retry_dead_letter_0.id IS '涓婚敭'; +COMMENT ON COLUMN er_retry_dead_letter_0.unique_id IS '鍚岀粍涓媔d鍞竴'; +COMMENT ON COLUMN er_retry_dead_letter_0.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_retry_dead_letter_0.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_retry_dead_letter_0.scene_name IS '鍦烘櫙鍚嶇О'; +COMMENT ON COLUMN er_retry_dead_letter_0.idempotent_id IS '骞傜瓑id'; +COMMENT ON COLUMN er_retry_dead_letter_0.biz_no IS '涓氬姟缂栧彿'; +COMMENT ON COLUMN er_retry_dead_letter_0.executor_name IS '鎵ц鍣ㄥ悕绉�'; +COMMENT ON COLUMN er_retry_dead_letter_0.args_str IS '鎵ц鏂规硶鍙傛暟'; +COMMENT ON COLUMN er_retry_dead_letter_0.ext_attrs IS '鎵╁睍瀛楁'; +COMMENT ON COLUMN er_retry_dead_letter_0.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�'; +COMMENT ON COLUMN er_retry_dead_letter_0.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON TABLE er_retry_dead_letter_0 IS '姝讳俊闃熷垪琛�'; + +CREATE TABLE er_retry_task_0 +( + id BIGSERIAL PRIMARY KEY, + unique_id VARCHAR(64) NOT NULL, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + idempotent_id VARCHAR(64) NOT NULL, + biz_no VARCHAR(64) NOT NULL DEFAULT '', + executor_name VARCHAR(512) NOT NULL DEFAULT '', + args_str TEXT NOT NULL, + ext_attrs TEXT NOT NULL, + next_trigger_at TIMESTAMP NOT NULL, + retry_count INT NOT NULL DEFAULT 0, + retry_status SMALLINT NOT NULL DEFAULT 0, + task_type SMALLINT NOT NULL DEFAULT 1, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_name_unique_id_retry_task ON er_retry_task_0 (namespace_id, group_name, unique_id); +CREATE INDEX idx_namespace_id_group_name_scene_name_retry_task ON er_retry_task_0 (namespace_id, group_name, scene_name); +CREATE INDEX idx_namespace_id_group_name_retry_status_retry_task ON er_retry_task_0 (namespace_id, group_name, retry_status); +CREATE INDEX idx_idempotent_id_retry_task ON er_retry_task_0 (idempotent_id); +CREATE INDEX idx_biz_no_retry_task ON er_retry_task_0 (biz_no); +CREATE INDEX idx_create_dt_retry_task ON er_retry_task_0 (create_dt); + +COMMENT ON COLUMN er_retry_task_0.id IS '涓婚敭'; +COMMENT ON COLUMN er_retry_task_0.unique_id IS '鍚岀粍涓媔d鍞竴'; +COMMENT ON COLUMN er_retry_task_0.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_retry_task_0.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_retry_task_0.scene_name IS '鍦烘櫙鍚嶇О'; +COMMENT ON COLUMN er_retry_task_0.idempotent_id IS '骞傜瓑id'; +COMMENT ON COLUMN er_retry_task_0.biz_no IS '涓氬姟缂栧彿'; +COMMENT ON COLUMN er_retry_task_0.executor_name IS '鎵ц鍣ㄥ悕绉�'; +COMMENT ON COLUMN er_retry_task_0.args_str IS '鎵ц鏂规硶鍙傛暟'; +COMMENT ON COLUMN er_retry_task_0.ext_attrs IS '鎵╁睍瀛楁'; +COMMENT ON COLUMN er_retry_task_0.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿'; +COMMENT ON COLUMN er_retry_task_0.retry_count IS '閲嶈瘯娆℃暟'; +COMMENT ON COLUMN er_retry_task_0.retry_status IS '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ч噸璇曟鏁�'; +COMMENT ON COLUMN er_retry_task_0.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�'; +COMMENT ON COLUMN er_retry_task_0.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_retry_task_0.update_dt IS '淇敼鏃堕棿'; +COMMENT ON TABLE er_retry_task_0 IS '浠诲姟琛�'; + +CREATE TABLE er_retry_task_log +( + id BIGSERIAL PRIMARY KEY, + unique_id VARCHAR(64) NOT NULL, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + idempotent_id VARCHAR(64) NOT NULL, + biz_no VARCHAR(64) NOT NULL DEFAULT '', + executor_name VARCHAR(512) NOT NULL DEFAULT '', + args_str TEXT NOT NULL, + ext_attrs TEXT NOT NULL, + retry_status SMALLINT NOT NULL DEFAULT 0, + task_type SMALLINT NOT NULL DEFAULT 1, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + +); + +CREATE INDEX idx_group_name_scene_name_retry_task_log ON er_retry_task_log (namespace_id, group_name, scene_name); +CREATE INDEX idx_retry_status_retry_task_log ON er_retry_task_log (retry_status); +CREATE INDEX idx_idempotent_id_retry_task_log ON er_retry_task_log (idempotent_id); +CREATE INDEX idx_unique_id ON er_retry_task_log (namespace_id, group_name, unique_id); +CREATE INDEX idx_biz_no_retry_task_log ON er_retry_task_log (biz_no); +CREATE INDEX idx_create_dt_retry_task_log ON er_retry_task_log (create_dt); + +COMMENT ON COLUMN er_retry_task_log.id IS '涓婚敭'; +COMMENT ON COLUMN er_retry_task_log.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_retry_task_log.unique_id IS '鍚岀粍涓媔d鍞竴'; +COMMENT ON COLUMN er_retry_task_log.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_retry_task_log.scene_name IS '鍦烘櫙鍚嶇О'; +COMMENT ON COLUMN er_retry_task_log.idempotent_id IS '骞傜瓑id'; +COMMENT ON COLUMN er_retry_task_log.biz_no IS '涓氬姟缂栧彿'; +COMMENT ON COLUMN er_retry_task_log.executor_name IS '鎵ц鍣ㄥ悕绉�'; +COMMENT ON COLUMN er_retry_task_log.args_str IS '鎵ц鏂规硶鍙傛暟'; +COMMENT ON COLUMN er_retry_task_log.ext_attrs IS '鎵╁睍瀛楁'; +COMMENT ON COLUMN er_retry_task_log.retry_status IS '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ф鏁�'; +COMMENT ON COLUMN er_retry_task_log.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�'; +COMMENT ON COLUMN er_retry_task_log.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_retry_task_log.update_dt IS '淇敼鏃堕棿'; +COMMENT ON TABLE er_retry_task_log IS '浠诲姟鏃ュ織鍩虹淇℃伅琛�'; + +CREATE TABLE er_retry_task_log_message +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + unique_id VARCHAR(64) NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + message TEXT NOT NULL, + log_num INT NOT NULL DEFAULT 1, + real_time BIGINT NOT NULL DEFAULT 0 +); + +CREATE INDEX idx_namespace_id_group_name_unique_id ON er_retry_task_log_message (namespace_id, group_name, unique_id); +CREATE INDEX idx_create_dt ON er_retry_task_log_message (create_dt); +COMMENT ON COLUMN er_retry_task_log_message.id IS '涓婚敭'; +COMMENT ON COLUMN er_retry_task_log_message.namespace_id IS '鍛藉悕绌洪棿'; +COMMENT ON COLUMN er_retry_task_log_message.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_retry_task_log_message.unique_id IS '鍚岀粍涓媔d鍞竴'; +COMMENT ON COLUMN er_retry_task_log_message.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_retry_task_log_message.message IS '寮傚父淇℃伅'; +COMMENT ON COLUMN er_retry_task_log_message.log_num IS '鏃ュ織鏉℃暟'; +COMMENT ON COLUMN er_retry_task_log_message.real_time IS '瀹為檯鏃堕棿'; +COMMENT ON TABLE er_retry_task_log_message IS '浠诲姟璋冨害鏃ュ織淇℃伅璁板綍琛�'; + +CREATE TABLE er_scene_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + scene_name VARCHAR(64) NOT NULL, + group_name VARCHAR(64) NOT NULL, + scene_status SMALLINT NOT NULL DEFAULT 0, + max_retry_count INT NOT NULL DEFAULT 5, + back_off SMALLINT NOT NULL DEFAULT 1, + trigger_interval VARCHAR(16) NOT NULL DEFAULT '', + deadline_request BIGINT NOT NULL DEFAULT 60000, + route_key SMALLINT NOT NULL DEFAULT 4, + executor_timeout INT NOT NULL DEFAULT 5, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name_scene_name ON er_scene_config (namespace_id, group_name, scene_name); +COMMENT ON COLUMN er_scene_config.id IS '涓婚敭'; +COMMENT ON COLUMN er_scene_config.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_scene_config.scene_name IS '鍦烘櫙鍚嶇О'; +COMMENT ON COLUMN er_scene_config.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_scene_config.scene_status IS '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�'; +COMMENT ON COLUMN er_scene_config.max_retry_count IS '鏈�澶ч噸璇曟鏁�'; +COMMENT ON COLUMN er_scene_config.back_off IS '1銆侀粯璁ょ瓑绾� 2銆佸浐瀹氶棿闅旀椂闂� 3銆丆RON 琛ㄨ揪寮�'; +COMMENT ON COLUMN er_scene_config.trigger_interval IS '闂撮殧鏃堕暱'; +COMMENT ON COLUMN er_scene_config.deadline_request IS 'Deadline Request 璋冪敤閾捐秴鏃� 鍗曚綅姣'; +COMMENT ON COLUMN er_scene_config.description IS '鎻忚堪'; +COMMENT ON COLUMN er_scene_config.route_key IS '璺敱绛栫暐'; +COMMENT ON COLUMN er_scene_config.executor_timeout IS '瓒呮椂鏃堕棿'; +COMMENT ON COLUMN er_scene_config.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_scene_config.update_dt IS '淇敼鏃堕棿'; +COMMENT ON TABLE er_scene_config IS '鍦烘櫙閰嶇疆'; + +CREATE TABLE er_server_node +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + host_id VARCHAR(64) NOT NULL, + host_ip VARCHAR(64) NOT NULL, + context_path VARCHAR(256) NOT NULL DEFAULT '/', + host_port INT NOT NULL, + expire_at TIMESTAMP NOT NULL, + node_type SMALLINT NOT NULL, + ext_attrs VARCHAR(256) DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_host_id_host_ip ON er_server_node (host_id, host_ip); +CREATE INDEX idx_expire_at_node_type ON er_server_node (expire_at, node_type); +CREATE INDEX idx_namespace_id_group_name_server_node ON er_server_node (namespace_id, group_name); + +COMMENT ON COLUMN er_server_node.id IS '涓婚敭'; +COMMENT ON COLUMN er_server_node.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_server_node.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_server_node.host_id IS '涓绘満id'; +COMMENT ON COLUMN er_server_node.host_ip IS '鏈哄櫒ip'; +COMMENT ON COLUMN er_server_node.context_path IS '瀹㈡埛绔笂涓嬫枃璺緞 server.servlet.context-path'; +COMMENT ON COLUMN er_server_node.host_port IS '鏈哄櫒绔彛'; +COMMENT ON COLUMN er_server_node.expire_at IS '杩囨湡鏃堕棿'; +COMMENT ON COLUMN er_server_node.node_type IS '鑺傜偣绫诲瀷 1銆佸鎴风 2銆佹槸鏈嶅姟绔�'; +COMMENT ON COLUMN er_server_node.ext_attrs IS '鎵╁睍瀛楁'; +COMMENT ON COLUMN er_server_node.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_server_node.update_dt IS '淇敼鏃堕棿'; +COMMENT ON TABLE er_server_node IS '鏈嶅姟鍣ㄨ妭鐐�'; + +CREATE TABLE er_distributed_lock +( + id BIGSERIAL PRIMARY KEY, + name VARCHAR(64) NOT NULL, + lock_until TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + locked_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + locked_by VARCHAR(255) NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +ALTER TABLE er_distributed_lock + ADD CONSTRAINT uk_name UNIQUE (name); + +COMMENT ON COLUMN er_distributed_lock.id IS '涓婚敭'; +COMMENT ON COLUMN er_distributed_lock.name IS '閿佸悕绉�'; +COMMENT ON COLUMN er_distributed_lock.lock_until IS '閿佸畾鏃堕暱'; +COMMENT ON COLUMN er_distributed_lock.locked_at IS '閿佸畾鏃堕棿'; +COMMENT ON COLUMN er_distributed_lock.locked_by IS '閿佸畾鑰�'; +COMMENT ON COLUMN er_distributed_lock.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_distributed_lock.update_dt IS '淇敼鏃堕棿'; +COMMENT ON TABLE er_distributed_lock IS '閿佸畾琛�'; + + +CREATE TABLE er_system_user +( + id BIGSERIAL PRIMARY KEY, + username VARCHAR(64) NOT NULL, + password VARCHAR(128) NOT NULL, + role SMALLINT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_username ON er_system_user (username); +COMMENT ON COLUMN er_system_user.id IS '涓婚敭'; +COMMENT ON COLUMN er_system_user.username IS '璐﹀彿'; +COMMENT ON COLUMN er_system_user.password IS '瀵嗙爜'; +COMMENT ON COLUMN er_system_user.role IS '瑙掕壊锛�1-鏅�氱敤鎴枫��2-绠$悊鍛�'; +COMMENT ON COLUMN er_system_user.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_system_user.update_dt IS '淇敼鏃堕棿'; +COMMENT ON TABLE er_system_user IS '绯荤粺鐢ㄦ埛琛�'; + +-- pwd: admin +INSERT INTO er_system_user VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now()); + +CREATE TABLE er_system_user_permission +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + system_user_id BIGINT NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name_system_user_id ON er_system_user_permission (namespace_id, group_name, system_user_id); +COMMENT ON COLUMN er_system_user_permission.id IS '涓婚敭'; +COMMENT ON COLUMN er_system_user_permission.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_system_user_permission.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_system_user_permission.system_user_id IS '绯荤粺鐢ㄦ埛id'; +COMMENT ON COLUMN er_system_user_permission.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_system_user_permission.update_dt IS '淇敼鏃堕棿'; +COMMENT ON TABLE er_system_user_permission IS '绯荤粺鐢ㄦ埛鏉冮檺琛�'; + + +CREATE TABLE er_sequence_alloc +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL DEFAULT '', + max_id BIGINT NOT NULL DEFAULT 1, + step INT NOT NULL DEFAULT 100, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name ON er_sequence_alloc (namespace_id, group_name); + +COMMENT ON COLUMN er_sequence_alloc.id IS '涓婚敭'; +COMMENT ON COLUMN er_sequence_alloc.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_sequence_alloc.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_sequence_alloc.max_id IS '鏈�澶d'; +COMMENT ON COLUMN er_sequence_alloc.step IS '姝ラ暱'; +COMMENT ON COLUMN er_sequence_alloc.update_dt IS '鏇存柊鏃堕棿'; +COMMENT ON TABLE er_sequence_alloc IS '鍙锋妯″紡搴忓彿ID鍒嗛厤琛�'; + +-- 鍒嗗竷寮忚皟搴DL +CREATE TABLE er_job +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_name VARCHAR(64) NOT NULL, + args_str TEXT NOT NULL DEFAULT '', + args_type SMALLINT NOT NULL DEFAULT 1, + next_trigger_at BIGINT NOT NULL, + job_status SMALLINT NOT NULL DEFAULT 1, + task_type SMALLINT NOT NULL DEFAULT 1, + route_key SMALLINT NOT NULL DEFAULT 4, + executor_type SMALLINT NOT NULL DEFAULT 1, + executor_info VARCHAR(255) DEFAULT NULL, + trigger_type SMALLINT NOT NULL, + trigger_interval VARCHAR(255) NOT NULL, + block_strategy SMALLINT NOT NULL DEFAULT 1, + executor_timeout INT NOT NULL DEFAULT 0, + max_retry_times INT NOT NULL DEFAULT 0, + parallel_num INT NOT NULL DEFAULT 1, + retry_interval INT NOT NULL DEFAULT 0, + bucket_index INT NOT NULL DEFAULT 0, + resident SMALLINT NOT NULL DEFAULT 0, + description VARCHAR(256) NOT NULL DEFAULT '', + ext_attrs VARCHAR(256) DEFAULT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0 +); + +CREATE INDEX idx_namespace_id_group_name_job ON er_job (namespace_id, group_name); +CREATE INDEX idx_job_status_bucket_index_job ON er_job (job_status, bucket_index); +CREATE INDEX idx_create_dt_job ON er_job (create_dt); + +COMMENT ON COLUMN er_job.id IS '涓婚敭'; +COMMENT ON COLUMN er_job.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_job.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_job.job_name IS '鍚嶇О'; +COMMENT ON COLUMN er_job.args_str IS '鎵ц鏂规硶鍙傛暟'; +COMMENT ON COLUMN er_job.args_type IS '鍙傛暟绫诲瀷'; +COMMENT ON COLUMN er_job.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿'; +COMMENT ON COLUMN er_job.job_status IS '閲嶈瘯鐘舵�� 0銆佸叧闂��1銆佸紑鍚�'; +COMMENT ON COLUMN er_job.task_type IS '浠诲姟绫诲瀷 1銆侀泦缇� 2銆佸箍鎾� 3銆佸垏鐗�'; +COMMENT ON COLUMN er_job.route_key IS '璺敱绛栫暐'; +COMMENT ON COLUMN er_job.executor_type IS '鎵ц鍣ㄧ被鍨�'; +COMMENT ON COLUMN er_job.executor_info IS '鎵ц鍣ㄥ悕绉�'; +COMMENT ON COLUMN er_job.trigger_type IS '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿'; +COMMENT ON COLUMN er_job.trigger_interval IS '闂撮殧鏃堕暱'; +COMMENT ON COLUMN er_job.block_strategy IS '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�'; +COMMENT ON COLUMN er_job.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇'; +COMMENT ON COLUMN er_job.max_retry_times IS '鏈�澶ч噸璇曟鏁�'; +COMMENT ON COLUMN er_job.parallel_num IS '骞惰鏁�'; +COMMENT ON COLUMN er_job.retry_interval IS '鏇存柊閲嶈瘯闂撮殧(s)'; +COMMENT ON COLUMN er_job.bucket_index IS 'bucket'; +COMMENT ON COLUMN er_job.resident IS '鏄惁鏄父椹讳换鍔�'; +COMMENT ON COLUMN er_job.description IS '鎻忚堪'; +COMMENT ON COLUMN er_job.ext_attrs IS '鎵╁睍瀛楁'; +COMMENT ON COLUMN er_job.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_job.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�'; +COMMENT ON COLUMN er_job.update_dt IS '鏇存柊鏃堕棿'; +COMMENT ON TABLE er_job IS '浠诲姟淇℃伅'; + +CREATE TABLE er_job_log_message +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + task_batch_id BIGINT NOT NULL, + task_id BIGINT NOT NULL, + message TEXT NOT NULL, + log_num INT NOT NULL DEFAULT 1, + real_time BIGINT NOT NULL DEFAULT 0, + ext_attrs VARCHAR(256) DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_namespace_id_group_name_to_job_log_message ON er_job_log_message (namespace_id, group_name); +CREATE INDEX idx_task_batch_id_task_id_to_job_log_message ON er_job_log_message (task_batch_id, task_id); +CREATE INDEX idx_create_dt_to_job_log_message ON er_job_log_message (create_dt); + +COMMENT ON COLUMN er_job_log_message.id IS '涓婚敭'; +COMMENT ON COLUMN er_job_log_message.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_job_log_message.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_job_log_message.job_id IS '浠诲姟淇℃伅id'; +COMMENT ON COLUMN er_job_log_message.task_batch_id IS '浠诲姟鎵规id'; +COMMENT ON COLUMN er_job_log_message.task_id IS '璋冨害浠诲姟id'; +COMMENT ON COLUMN er_job_log_message.message IS '璋冨害淇℃伅'; +COMMENT ON COLUMN er_job_log_message.log_num IS '鏃ュ織搴忓彿'; +COMMENT ON COLUMN er_job_log_message.real_time IS '瀹為檯鏃堕棿'; +COMMENT ON COLUMN er_job_log_message.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_job_log_message.ext_attrs IS '鎵╁睍瀛楁'; +COMMENT ON TABLE er_job_log_message IS '璋冨害鏃ュ織'; + +CREATE TABLE er_job_task +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + task_batch_id BIGINT NOT NULL, + parent_id BIGINT NOT NULL DEFAULT 0, + task_status SMALLINT NOT NULL DEFAULT 0, + retry_count INT NOT NULL DEFAULT 0, + client_info VARCHAR(128) DEFAULT NULL, + result_message TEXT NOT NULL, + args_str TEXT NOT NULL, + args_type SMALLINT NOT NULL DEFAULT 1, + ext_attrs VARCHAR(256) DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + + +CREATE INDEX idx_namespace_id_group_name_to_job_task ON er_job_task (namespace_id, group_name); +CREATE INDEX idx_task_batch_id_task_status_to_job_task ON er_job_task (task_batch_id, task_status); +CREATE INDEX idx_create_dt_to_job_task ON er_job_task (create_dt); +COMMENT ON COLUMN er_job_task.id IS '涓婚敭'; +COMMENT ON COLUMN er_job_task.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_job_task.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_job_task.job_id IS '浠诲姟淇℃伅id'; +COMMENT ON COLUMN er_job_task.task_batch_id IS '浠诲姟鎵规id'; +COMMENT ON COLUMN er_job_task.parent_id IS '鐖舵墽琛屽櫒id'; +COMMENT ON COLUMN er_job_task.task_status IS '鎵ц鐨勭姸鎬� 0銆佸け璐� 1銆佹垚鍔�'; +COMMENT ON COLUMN er_job_task.retry_count IS '閲嶈瘯娆℃暟'; +COMMENT ON COLUMN er_job_task.client_info IS '瀹㈡埛绔湴鍧� clientId#ip:port'; +COMMENT ON COLUMN er_job_task.result_message IS '璋冨害淇℃伅'; +COMMENT ON COLUMN er_job_task.args_str IS '鎵ц鏂规硶鍙傛暟'; +COMMENT ON COLUMN er_job_task.args_type IS '鍙傛暟绫诲瀷'; +COMMENT ON COLUMN er_job_task.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_job_task.update_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_job_task.ext_attrs IS '鎵╁睍瀛楁'; +COMMENT ON TABLE er_job_task IS '浠诲姟瀹炰緥'; + +CREATE TABLE er_job_task_batch +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + workflow_node_id BIGINT NOT NULL DEFAULT 0, + parent_workflow_node_id BIGINT NOT NULL DEFAULT 0, + workflow_task_batch_id BIGINT NOT NULL DEFAULT 0, + parent_id VARCHAR(64) NOT NULL DEFAULT '', + task_batch_status SMALLINT NOT NULL DEFAULT 0, + operation_reason SMALLINT NOT NULL DEFAULT 0, + execution_at BIGINT NOT NULL DEFAULT 0, + system_task_type SMALLINT NOT NULL DEFAULT 3, + ext_attrs VARCHAR(256) DEFAULT '', + deleted SMALLINT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_namespace_id_group_name_to_job_task_batch ON er_job_task_batch (namespace_id, group_name); +CREATE INDEX idx_job_id_task_batch_status_to_job_task_batch ON er_job_task_batch (job_id, task_batch_status); +CREATE INDEX idx_create_dt_to_job_task_batch ON er_job_task_batch (create_dt); +CREATE INDEX idx_workflow_task_batch_id_workflow_node_id ON er_job_task_batch (workflow_task_batch_id, workflow_node_id); + +COMMENT ON COLUMN er_job_task_batch.id IS '涓婚敭'; +COMMENT ON COLUMN er_job_task_batch.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_job_task_batch.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_job_task_batch.job_id IS '浠诲姟淇℃伅id'; +COMMENT ON COLUMN er_job_task_batch.task_batch_status IS '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�'; +COMMENT ON COLUMN er_job_task_batch.operation_reason IS '鎿嶄綔鍘熷洜'; +COMMENT ON COLUMN er_job_task_batch.workflow_node_id IS '宸ヤ綔娴佽妭鐐筰d'; +COMMENT ON COLUMN er_job_task_batch.parent_workflow_node_id IS '鐖惰妭鐐�'; +COMMENT ON COLUMN er_job_task_batch.workflow_task_batch_id IS '浠诲姟鎵规id'; +COMMENT ON COLUMN er_job_task_batch.system_task_type IS '浠诲姟绫诲瀷 0銆佺郴缁熶换鍔� 1銆佷笟鍔′换鍔�'; +COMMENT ON COLUMN er_job_task_batch.execution_at IS '浠诲姟鎵ц鏃堕棿'; +COMMENT ON COLUMN er_job_task_batch.parent_id IS '鐖惰妭鐐�'; +COMMENT ON COLUMN er_job_task_batch.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�'; +COMMENT ON COLUMN er_job_task_batch.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_job_task_batch.update_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_job_task_batch.ext_attrs IS '鎵╁睍瀛楁'; +COMMENT ON TABLE er_job_task_batch IS '浠诲姟鎵规'; + +CREATE TABLE er_job_notify_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + notify_status SMALLINT NOT NULL DEFAULT 0, + notify_type SMALLINT NOT NULL DEFAULT 0, + notify_attribute VARCHAR(512) NOT NULL, + notify_threshold INT NOT NULL DEFAULT 0, + notify_scene SMALLINT NOT NULL DEFAULT 0, + rate_limiter_status SMALLINT NOT NULL DEFAULT 0, + rate_limiter_threshold INT NOT NULL DEFAULT 0, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_namespace_id_group_name_job_id_job_notify_config ON er_job_notify_config (namespace_id, group_name, job_id); + +COMMENT ON COLUMN er_job_notify_config.id IS '涓婚敭'; +COMMENT ON COLUMN er_job_notify_config.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_job_notify_config.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_job_notify_config.job_id IS '浠诲姟淇℃伅id'; +COMMENT ON COLUMN er_job_notify_config.notify_status IS '閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�'; +COMMENT ON COLUMN er_job_notify_config.notify_type IS '閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇�'; +COMMENT ON COLUMN er_job_notify_config.notify_attribute IS '閰嶇疆灞炴��'; +COMMENT ON COLUMN er_job_notify_config.notify_threshold IS '閫氱煡闃堝��'; +COMMENT ON COLUMN er_job_notify_config.notify_scene IS '閫氱煡鍦烘櫙'; +COMMENT ON COLUMN er_job_notify_config.rate_limiter_status IS '闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�'; +COMMENT ON COLUMN er_job_notify_config.rate_limiter_threshold IS '姣忕闄愭祦闃堝��'; +COMMENT ON COLUMN er_job_notify_config.description IS '鎻忚堪'; +COMMENT ON COLUMN er_job_notify_config.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_job_notify_config.update_dt IS '淇敼鏃堕棿'; +COMMENT ON TABLE er_job_notify_config IS '閫氱煡閰嶇疆'; + +CREATE TABLE er_retry_summary +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL DEFAULT '', + scene_name VARCHAR(50) NOT NULL DEFAULT '', + trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + running_num INT NOT NULL DEFAULT 0, + finish_num INT NOT NULL DEFAULT 0, + max_count_num INT NOT NULL DEFAULT 0, + suspend_num INT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_scene_name_trigger_at ON er_retry_summary (namespace_id, group_name, scene_name, trigger_at); + +COMMENT ON COLUMN er_retry_summary.id IS '涓婚敭'; +COMMENT ON COLUMN er_retry_summary.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_retry_summary.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_retry_summary.scene_name IS '鍦烘櫙鍚嶇О'; +COMMENT ON COLUMN er_retry_summary.trigger_at IS '缁熻鏃堕棿'; +COMMENT ON COLUMN er_retry_summary.running_num IS '閲嶈瘯涓�-鏃ュ織鏁伴噺'; +COMMENT ON COLUMN er_retry_summary.finish_num IS '閲嶈瘯瀹屾垚-鏃ュ織鏁伴噺'; +COMMENT ON COLUMN er_retry_summary.max_count_num IS '閲嶈瘯鍒拌揪鏈�澶ф鏁�-鏃ュ織鏁伴噺'; +COMMENT ON COLUMN er_retry_summary.suspend_num IS '鏆傚仠閲嶈瘯-鏃ュ織鏁伴噺'; +COMMENT ON COLUMN er_retry_summary.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_retry_summary.update_dt IS '淇敼鏃堕棿'; +COMMENT ON TABLE er_retry_summary IS 'DashBoard_Retry'; + +CREATE TABLE er_job_summary +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL DEFAULT '', + business_id BIGINT NOT NULL, + system_task_type SMALLINT NOT NULL DEFAULT '3', + trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + success_num INT NOT NULL DEFAULT 0, + fail_num INT NOT NULL DEFAULT 0, + fail_reason VARCHAR(512) NOT NULL DEFAULT '', + stop_num INT NOT NULL DEFAULT 0, + stop_reason VARCHAR(512) NOT NULL DEFAULT '', + cancel_num INT NOT NULL DEFAULT 0, + cancel_reason VARCHAR(512) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_trigger_at_system_task_type_business_id ON er_job_summary (trigger_at, system_task_type, business_id); +CREATE INDEX idx_namespace_id_group_name_job_id ON er_job_summary (namespace_id, group_name, business_id); + +COMMENT ON COLUMN er_job_summary.id IS '涓婚敭'; +COMMENT ON COLUMN er_job_summary.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_job_summary.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_job_summary.business_id IS '涓氬姟id (job_id鎴杦orkflow_id)'; +COMMENT ON COLUMN er_job_summary.system_task_type IS '浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟'; +COMMENT ON COLUMN er_job_summary.trigger_at IS '缁熻鏃堕棿'; +COMMENT ON COLUMN er_job_summary.success_num IS '鎵ц鎴愬姛-鏃ュ織鏁伴噺'; +COMMENT ON COLUMN er_job_summary.fail_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺'; +COMMENT ON COLUMN er_job_summary.fail_reason IS '澶辫触鍘熷洜'; +COMMENT ON COLUMN er_job_summary.stop_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺'; +COMMENT ON COLUMN er_job_summary.stop_reason IS '澶辫触鍘熷洜'; +COMMENT ON COLUMN er_job_summary.cancel_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺'; +COMMENT ON COLUMN er_job_summary.cancel_reason IS '澶辫触鍘熷洜'; +COMMENT ON TABLE er_job_summary IS 'DashBoard_Job'; + +CREATE TABLE er_workflow +( + id BIGSERIAL PRIMARY KEY, + workflow_name varchar(64) NOT NULL, + namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name varchar(64) NOT NULL, + workflow_status smallint NOT NULL DEFAULT 1, + trigger_type smallint NOT NULL, + trigger_interval varchar(255) NOT NULL, + next_trigger_at BIGINT NOT NULL, + block_strategy smallint NOT NULL DEFAULT 1, + executor_timeout INT NOT NULL DEFAULT 0, + description varchar(256) NOT NULL DEFAULT '', + flow_info text DEFAULT NULL, + bucket_index INT NOT NULL DEFAULT 0, + version INT NOT NULL, + create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted smallint NOT NULL DEFAULT 0, + ext_attrs varchar(256) NULL DEFAULT '' +); + + +CREATE INDEX idx_create_dt_workflow ON er_workflow (create_dt); +CREATE INDEX idx_namespace_id_group_name_workflow ON er_workflow (namespace_id, group_name); + +COMMENT ON TABLE er_workflow IS '宸ヤ綔娴�'; +COMMENT ON COLUMN er_workflow.id IS '涓婚敭'; +COMMENT ON COLUMN er_workflow.workflow_name IS '宸ヤ綔娴佸悕绉�'; +COMMENT ON COLUMN er_workflow.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_workflow.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_workflow.workflow_status IS '宸ヤ綔娴佺姸鎬� 0銆佸叧闂��1銆佸紑鍚�'; +COMMENT ON COLUMN er_workflow.trigger_type IS '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿'; +COMMENT ON COLUMN er_workflow.trigger_interval IS '闂撮殧鏃堕暱'; +COMMENT ON COLUMN er_workflow.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿'; +COMMENT ON COLUMN er_workflow.block_strategy IS '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�'; +COMMENT ON COLUMN er_workflow.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇'; +COMMENT ON COLUMN er_workflow.description IS '鎻忚堪'; +COMMENT ON COLUMN er_workflow.flow_info IS '娴佺▼淇℃伅'; +COMMENT ON COLUMN er_workflow.bucket_index IS 'bucket'; +COMMENT ON COLUMN er_workflow.version IS '鐗堟湰鍙�'; +COMMENT ON COLUMN er_workflow.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_workflow.update_dt IS '淇敼鏃堕棿'; +COMMENT ON COLUMN er_workflow.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�'; +COMMENT ON COLUMN er_workflow.ext_attrs IS '鎵╁睍瀛楁'; + +CREATE TABLE er_workflow_node +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + node_name VARCHAR(64) NOT NULL, + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + workflow_id BIGINT NOT NULL, + node_type SMALLINT NOT NULL DEFAULT 1, + expression_type SMALLINT NOT NULL DEFAULT 0, + fail_strategy SMALLINT NOT NULL DEFAULT 1, + workflow_node_status SMALLINT NOT NULL DEFAULT 1, + priority_level INT NOT NULL DEFAULT 1, + node_info TEXT DEFAULT NULL, + version INT NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0, + ext_attrs VARCHAR(256) NULL DEFAULT '' +); + +CREATE INDEX idx_create_dt_workflow_node ON er_workflow_node (create_dt); +CREATE INDEX idx_namespace_id_group_name_workflow_node ON er_workflow_node (namespace_id, group_name); + +COMMENT ON TABLE er_workflow_node IS '宸ヤ綔娴佽妭鐐�'; +COMMENT ON COLUMN er_workflow_node.id IS '涓婚敭'; +COMMENT ON COLUMN er_workflow_node.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_workflow_node.node_name IS '鑺傜偣鍚嶇О'; +COMMENT ON COLUMN er_workflow_node.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_workflow_node.job_id IS '浠诲姟淇℃伅id'; +COMMENT ON COLUMN er_workflow_node.workflow_id IS '宸ヤ綔娴両D'; +COMMENT ON COLUMN er_workflow_node.node_type IS '1銆佷换鍔¤妭鐐� 2銆佹潯浠惰妭鐐�'; +COMMENT ON COLUMN er_workflow_node.expression_type IS '1銆丼pEl銆�2銆丄viator 3銆丵L'; +COMMENT ON COLUMN er_workflow_node.fail_strategy IS '澶辫触绛栫暐 1銆佽烦杩� 2銆侀樆濉�'; +COMMENT ON COLUMN er_workflow_node.workflow_node_status IS '宸ヤ綔娴佽妭鐐圭姸鎬� 0銆佸叧闂��1銆佸紑鍚�'; +COMMENT ON COLUMN er_workflow_node.priority_level IS '浼樺厛绾�'; +COMMENT ON COLUMN er_workflow_node.node_info IS '鑺傜偣淇℃伅'; +COMMENT ON COLUMN er_workflow_node.version IS '鐗堟湰鍙�'; +COMMENT ON COLUMN er_workflow_node.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_workflow_node.update_dt IS '淇敼鏃堕棿'; +COMMENT ON COLUMN er_workflow_node.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�'; +COMMENT ON COLUMN er_workflow_node.ext_attrs IS '鎵╁睍瀛楁'; + +CREATE TABLE er_workflow_task_batch +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + workflow_id BIGINT NOT NULL, + task_batch_status SMALLINT NOT NULL DEFAULT 0, + operation_reason SMALLINT NOT NULL DEFAULT 0, + flow_info TEXT DEFAULT NULL, + execution_at BIGINT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0, + ext_attrs VARCHAR(256) NULL DEFAULT '' +); + +CREATE INDEX idx_job_id_task_batch_status_workflow_task_batch ON er_workflow_task_batch (workflow_id, task_batch_status); +CREATE INDEX idx_create_dt_workflow_task_batch ON er_workflow_task_batch (create_dt); +CREATE INDEX idx_namespace_id_group_name_workflow_task_batch ON er_workflow_task_batch (namespace_id, group_name); + +COMMENT ON TABLE er_workflow_task_batch IS '宸ヤ綔娴佹壒娆�'; +COMMENT ON COLUMN er_workflow_task_batch.id IS '涓婚敭'; +COMMENT ON COLUMN er_workflow_task_batch.namespace_id IS '鍛藉悕绌洪棿id'; +COMMENT ON COLUMN er_workflow_task_batch.group_name IS '缁勫悕绉�'; +COMMENT ON COLUMN er_workflow_task_batch.workflow_id IS '宸ヤ綔娴佷换鍔d'; +COMMENT ON COLUMN er_workflow_task_batch.task_batch_status IS '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�'; +COMMENT ON COLUMN er_workflow_task_batch.operation_reason IS '鎿嶄綔鍘熷洜'; +COMMENT ON COLUMN er_workflow_task_batch.flow_info IS '娴佺▼淇℃伅'; +COMMENT ON COLUMN er_workflow_task_batch.execution_at IS '浠诲姟鎵ц鏃堕棿'; +COMMENT ON COLUMN er_workflow_task_batch.create_dt IS '鍒涘缓鏃堕棿'; +COMMENT ON COLUMN er_workflow_task_batch.update_dt IS '淇敼鏃堕棿'; +COMMENT ON COLUMN er_workflow_task_batch.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�'; +COMMENT ON COLUMN er_workflow_task_batch.ext_attrs IS '鎵╁睍瀛楁'; -- Gitblit v1.9.3