Files
zt-dsc/sql/dm/规则引擎核心表结构_20251014.sql
chenbowen c0dc0823b6 1.规范增量 SQL 文件命名
2.新增数据总线模块(未完成)
3.新增规则模块(未完成)
4.新增组织编码与外部系统组织编码映射关系表
5.补全 e 办单点登录回调逻辑
2025-10-15 08:59:57 +08:00

229 lines
11 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 规则引擎模块核心表结构DM8
-- 如果需要重建表,请在执行前备份现有数据
DROP TABLE IF EXISTS rule_release_record;
DROP TABLE IF EXISTS rule_business_relation;
DROP TABLE IF EXISTS rule_business;
DROP TABLE IF EXISTS rule_chain_dependency;
DROP TABLE IF EXISTS rule_chain;
DROP TABLE IF EXISTS rule_definition;
CREATE TABLE rule_definition (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
code VARCHAR(128) NOT NULL,
name VARCHAR(128) NOT NULL,
type SMALLINT NOT NULL,
dsl CLOB,
script_language VARCHAR(64),
bean_ref VARCHAR(128),
config_json CLOB,
status SMALLINT DEFAULT 0 NOT NULL,
version VARCHAR(64),
remark VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_definition IS '规则定义表';
COMMENT ON COLUMN rule_definition.id IS '规则定义编号';
COMMENT ON COLUMN rule_definition.code IS '规则编码';
COMMENT ON COLUMN rule_definition.name IS '规则名称';
COMMENT ON COLUMN rule_definition.type IS '规则类型';
COMMENT ON COLUMN rule_definition.dsl IS 'LiteFlow DSL 脚本';
COMMENT ON COLUMN rule_definition.script_language IS '脚本语言';
COMMENT ON COLUMN rule_definition.bean_ref IS 'Spring Bean 引用';
COMMENT ON COLUMN rule_definition.config_json IS '规则配置 JSON';
COMMENT ON COLUMN rule_definition.status IS '规则状态';
COMMENT ON COLUMN rule_definition.version IS '规则版本号';
COMMENT ON COLUMN rule_definition.remark IS '备注';
COMMENT ON COLUMN rule_definition.creator IS '创建者';
COMMENT ON COLUMN rule_definition.create_time IS '创建时间';
COMMENT ON COLUMN rule_definition.updater IS '更新者';
COMMENT ON COLUMN rule_definition.update_time IS '更新时间';
COMMENT ON COLUMN rule_definition.deleted IS '是否删除';
COMMENT ON COLUMN rule_definition.tenant_id IS '租户编号';
CREATE UNIQUE INDEX uk_rule_definition_code_tenant ON rule_definition (code, tenant_id);
CREATE TABLE rule_chain (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
code VARCHAR(128) NOT NULL,
name VARCHAR(128) NOT NULL,
description VARCHAR(512),
structure_json CLOB,
liteflow_dsl CLOB,
status SMALLINT DEFAULT 0 NOT NULL,
version VARCHAR(64),
remark VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_chain IS '规则链表';
COMMENT ON COLUMN rule_chain.id IS '规则链编号';
COMMENT ON COLUMN rule_chain.code IS '规则链编码';
COMMENT ON COLUMN rule_chain.name IS '规则链名称';
COMMENT ON COLUMN rule_chain.description IS '规则链描述';
COMMENT ON COLUMN rule_chain.structure_json IS '链路结构 JSON';
COMMENT ON COLUMN rule_chain.liteflow_dsl IS 'LiteFlow DSL 内容';
COMMENT ON COLUMN rule_chain.status IS '规则链状态';
COMMENT ON COLUMN rule_chain.version IS '版本号';
COMMENT ON COLUMN rule_chain.remark IS '备注';
COMMENT ON COLUMN rule_chain.creator IS '创建者';
COMMENT ON COLUMN rule_chain.create_time IS '创建时间';
COMMENT ON COLUMN rule_chain.updater IS '更新者';
COMMENT ON COLUMN rule_chain.update_time IS '更新时间';
COMMENT ON COLUMN rule_chain.deleted IS '是否删除';
COMMENT ON COLUMN rule_chain.tenant_id IS '租户编号';
CREATE UNIQUE INDEX uk_rule_chain_code_tenant ON rule_chain (code, tenant_id);
CREATE INDEX idx_rule_chain_status ON rule_chain (status);
CREATE TABLE rule_chain_dependency (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
parent_chain_id BIGINT NOT NULL,
child_rule_id BIGINT NOT NULL,
link_type SMALLINT NOT NULL,
order_index INTEGER,
parallel_group VARCHAR(64),
condition_expr VARCHAR(512),
config_json CLOB,
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_chain_dependency IS '规则链依赖表';
COMMENT ON COLUMN rule_chain_dependency.id IS '依赖编号';
COMMENT ON COLUMN rule_chain_dependency.parent_chain_id IS '父规则链编号';
COMMENT ON COLUMN rule_chain_dependency.child_rule_id IS '引用的规则定义编号';
COMMENT ON COLUMN rule_chain_dependency.link_type IS '节点类型';
COMMENT ON COLUMN rule_chain_dependency.order_index IS '执行顺序';
COMMENT ON COLUMN rule_chain_dependency.parallel_group IS '并行组标识';
COMMENT ON COLUMN rule_chain_dependency.condition_expr IS '条件表达式';
COMMENT ON COLUMN rule_chain_dependency.config_json IS '节点配置 JSON';
COMMENT ON COLUMN rule_chain_dependency.creator IS '创建者';
COMMENT ON COLUMN rule_chain_dependency.create_time IS '创建时间';
COMMENT ON COLUMN rule_chain_dependency.updater IS '更新者';
COMMENT ON COLUMN rule_chain_dependency.update_time IS '更新时间';
COMMENT ON COLUMN rule_chain_dependency.deleted IS '是否删除';
COMMENT ON COLUMN rule_chain_dependency.tenant_id IS '租户编号';
CREATE INDEX idx_rule_chain_dependency_parent ON rule_chain_dependency (parent_chain_id);
CREATE INDEX idx_rule_chain_dependency_child ON rule_chain_dependency (child_rule_id);
CREATE TABLE rule_business (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
business VARCHAR(128) NOT NULL,
rule_chain_id BIGINT,
override_strategy SMALLINT DEFAULT 0 NOT NULL,
locked TINYINT DEFAULT 0 NOT NULL,
effective_version VARCHAR(64),
config_json CLOB,
remark VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_business IS '业务规则绑定表';
COMMENT ON COLUMN rule_business.id IS '业务绑定编号';
COMMENT ON COLUMN rule_business.business IS '业务标识';
COMMENT ON COLUMN rule_business.rule_chain_id IS '绑定的规则链编号';
COMMENT ON COLUMN rule_business.override_strategy IS '覆盖策略';
COMMENT ON COLUMN rule_business.locked IS '是否锁定';
COMMENT ON COLUMN rule_business.effective_version IS '生效版本';
COMMENT ON COLUMN rule_business.config_json IS '业务配置 JSON';
COMMENT ON COLUMN rule_business.remark IS '备注';
COMMENT ON COLUMN rule_business.creator IS '创建者';
COMMENT ON COLUMN rule_business.create_time IS '创建时间';
COMMENT ON COLUMN rule_business.updater IS '更新者';
COMMENT ON COLUMN rule_business.update_time IS '更新时间';
COMMENT ON COLUMN rule_business.deleted IS '是否删除';
COMMENT ON COLUMN rule_business.tenant_id IS '租户编号';
CREATE UNIQUE INDEX uk_rule_business_tenant ON rule_business (business, tenant_id);
CREATE INDEX idx_rule_business_chain ON rule_business (rule_chain_id);
CREATE TABLE rule_business_relation (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
parent_business VARCHAR(128) NOT NULL,
child_business VARCHAR(128) NOT NULL,
sort INTEGER DEFAULT 0 NOT NULL,
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_business_relation IS '业务继承关系表';
COMMENT ON COLUMN rule_business_relation.id IS '继承关系编号';
COMMENT ON COLUMN rule_business_relation.parent_business IS '父业务标识';
COMMENT ON COLUMN rule_business_relation.child_business IS '子业务标识';
COMMENT ON COLUMN rule_business_relation.sort IS '排序';
COMMENT ON COLUMN rule_business_relation.creator IS '创建者';
COMMENT ON COLUMN rule_business_relation.create_time IS '创建时间';
COMMENT ON COLUMN rule_business_relation.updater IS '更新者';
COMMENT ON COLUMN rule_business_relation.update_time IS '更新时间';
COMMENT ON COLUMN rule_business_relation.deleted IS '是否删除';
COMMENT ON COLUMN rule_business_relation.tenant_id IS '租户编号';
CREATE UNIQUE INDEX uk_rule_business_relation_child ON rule_business_relation (child_business, tenant_id);
CREATE INDEX idx_rule_business_relation_parent ON rule_business_relation (parent_business);
CREATE TABLE rule_release_record (
id BIGINT IDENTITY(1,1) PRIMARY KEY,
business VARCHAR(128) NOT NULL,
chain_id VARCHAR(255) NOT NULL,
chain_code VARCHAR(128),
version VARCHAR(64) NOT NULL,
status SMALLINT DEFAULT 0 NOT NULL,
release_user_id BIGINT,
release_user_name VARCHAR(128),
release_time TIMESTAMP,
remark VARCHAR(512),
creator VARCHAR(64) DEFAULT '' NOT NULL,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
updater VARCHAR(64) DEFAULT '' NOT NULL,
update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
deleted TINYINT DEFAULT 0 NOT NULL,
tenant_id BIGINT DEFAULT 0 NOT NULL
);
COMMENT ON TABLE rule_release_record IS '规则发布记录表';
COMMENT ON COLUMN rule_release_record.id IS '发布记录编号';
COMMENT ON COLUMN rule_release_record.business IS '业务标识';
COMMENT ON COLUMN rule_release_record.chain_id IS '生成链路标识';
COMMENT ON COLUMN rule_release_record.chain_code IS '规则链编码';
COMMENT ON COLUMN rule_release_record.version IS '发布版本';
COMMENT ON COLUMN rule_release_record.status IS '发布状态';
COMMENT ON COLUMN rule_release_record.release_user_id IS '发布人编号';
COMMENT ON COLUMN rule_release_record.release_user_name IS '发布人名称';
COMMENT ON COLUMN rule_release_record.release_time IS '发布时间';
COMMENT ON COLUMN rule_release_record.remark IS '备注';
COMMENT ON COLUMN rule_release_record.creator IS '创建者';
COMMENT ON COLUMN rule_release_record.create_time IS '创建时间';
COMMENT ON COLUMN rule_release_record.updater IS '更新者';
COMMENT ON COLUMN rule_release_record.update_time IS '更新时间';
COMMENT ON COLUMN rule_release_record.deleted IS '是否删除';
COMMENT ON COLUMN rule_release_record.tenant_id IS '租户编号';
CREATE INDEX idx_rule_release_business_time ON rule_release_record (business, release_time);
CREATE UNIQUE INDEX uk_rule_release_business_version ON rule_release_record (business, version, tenant_id);