/* * Databus API portal schema for DM8 * Generated on 2025-10-10 */ -- ---------------------------- -- Table structure for databus_api_definition -- ---------------------------- CREATE TABLE databus_api_definition ( id BIGINT NOT NULL PRIMARY KEY, tenant_id BIGINT NOT NULL, api_code VARCHAR(128) NOT NULL, http_method VARCHAR(16) NOT NULL, version VARCHAR(32) NOT NULL, status SMALLINT DEFAULT 0 NOT NULL, description VARCHAR(512), rate_limit_id BIGINT, response_template CLOB, updated_at DATETIME, creator VARCHAR(64) DEFAULT '' NOT NULL, create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, updater VARCHAR(64) DEFAULT '' NOT NULL, update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, deleted BIT DEFAULT '0' NOT NULL ); CREATE UNIQUE INDEX uk_databus_api_definition_code_ver ON databus_api_definition (tenant_id, api_code, version); CREATE INDEX idx_databus_api_definition_status ON databus_api_definition (tenant_id, status); COMMENT ON TABLE databus_api_definition IS '统一外部 API 门户 - API 定义表'; COMMENT ON COLUMN databus_api_definition.id IS '主键 ID'; COMMENT ON COLUMN databus_api_definition.tenant_id IS '租户编号'; COMMENT ON COLUMN databus_api_definition.api_code IS 'API 编码'; COMMENT ON COLUMN databus_api_definition.http_method IS 'HTTP 方法'; COMMENT ON COLUMN databus_api_definition.version IS '版本号'; COMMENT ON COLUMN databus_api_definition.status IS '发布状态'; COMMENT ON COLUMN databus_api_definition.description IS '描述信息'; COMMENT ON COLUMN databus_api_definition.rate_limit_id IS '限流策略 ID'; COMMENT ON COLUMN databus_api_definition.response_template IS '响应模板 JSON'; COMMENT ON COLUMN databus_api_definition.updated_at IS '业务更新时间'; COMMENT ON COLUMN databus_api_definition.creator IS '创建者'; COMMENT ON COLUMN databus_api_definition.create_time IS '创建时间'; COMMENT ON COLUMN databus_api_definition.updater IS '更新者'; COMMENT ON COLUMN databus_api_definition.update_time IS '更新时间'; COMMENT ON COLUMN databus_api_definition.deleted IS '逻辑删除标记'; -- ---------------------------- -- Table structure for databus_api_flow_publish -- ---------------------------- CREATE TABLE databus_api_flow_publish ( id BIGINT NOT NULL PRIMARY KEY, tenant_id BIGINT NOT NULL, api_id BIGINT NOT NULL, release_tag VARCHAR(64), snapshot CLOB, status VARCHAR(32), active BIT DEFAULT '0' NOT NULL, description VARCHAR(512), creator VARCHAR(64) DEFAULT '' NOT NULL, create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, updater VARCHAR(64) DEFAULT '' NOT NULL, update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, deleted BIT DEFAULT '0' NOT NULL ); CREATE INDEX idx_databus_api_flow_publish_api ON databus_api_flow_publish (tenant_id, api_id, active); COMMENT ON TABLE databus_api_flow_publish IS '统一外部 API 门户 - 发布记录表'; COMMENT ON COLUMN databus_api_flow_publish.id IS '主键 ID'; COMMENT ON COLUMN databus_api_flow_publish.tenant_id IS '租户编号'; COMMENT ON COLUMN databus_api_flow_publish.api_id IS '关联的 API ID'; COMMENT ON COLUMN databus_api_flow_publish.release_tag IS '发布批次标识'; COMMENT ON COLUMN databus_api_flow_publish.snapshot IS '配置快照 JSON'; COMMENT ON COLUMN databus_api_flow_publish.status IS '发布状态'; COMMENT ON COLUMN databus_api_flow_publish.active IS '是否当前生效'; COMMENT ON COLUMN databus_api_flow_publish.description IS '备注信息'; COMMENT ON COLUMN databus_api_flow_publish.creator IS '创建者'; COMMENT ON COLUMN databus_api_flow_publish.create_time IS '创建时间'; COMMENT ON COLUMN databus_api_flow_publish.updater IS '更新者'; COMMENT ON COLUMN databus_api_flow_publish.update_time IS '更新时间'; COMMENT ON COLUMN databus_api_flow_publish.deleted IS '逻辑删除标记'; -- ---------------------------- -- Table structure for databus_policy_rate_limit -- ---------------------------- CREATE TABLE databus_policy_rate_limit ( id BIGINT NOT NULL PRIMARY KEY, tenant_id BIGINT NOT NULL, name VARCHAR(128) NOT NULL, type VARCHAR(64) NOT NULL, config CLOB, description VARCHAR(512), creator VARCHAR(64) DEFAULT '' NOT NULL, create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, updater VARCHAR(64) DEFAULT '' NOT NULL, update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, deleted BIT DEFAULT '0' NOT NULL ); CREATE UNIQUE INDEX uk_databus_policy_rate_limit_name ON databus_policy_rate_limit (tenant_id, name); COMMENT ON TABLE databus_policy_rate_limit IS '统一外部 API 门户 - 限流策略表'; COMMENT ON COLUMN databus_policy_rate_limit.id IS '主键 ID'; COMMENT ON COLUMN databus_policy_rate_limit.tenant_id IS '租户编号'; COMMENT ON COLUMN databus_policy_rate_limit.name IS '策略名称'; COMMENT ON COLUMN databus_policy_rate_limit.type IS '策略类型'; COMMENT ON COLUMN databus_policy_rate_limit.config IS '策略配置 JSON'; COMMENT ON COLUMN databus_policy_rate_limit.description IS '描述信息'; COMMENT ON COLUMN databus_policy_rate_limit.creator IS '创建者'; COMMENT ON COLUMN databus_policy_rate_limit.create_time IS '创建时间'; COMMENT ON COLUMN databus_policy_rate_limit.updater IS '更新者'; COMMENT ON COLUMN databus_policy_rate_limit.update_time IS '更新时间'; COMMENT ON COLUMN databus_policy_rate_limit.deleted IS '逻辑删除标记'; -- ---------------------------- -- Table structure for databus_api_step -- ---------------------------- CREATE TABLE databus_api_step ( id BIGINT NOT NULL PRIMARY KEY, tenant_id BIGINT NOT NULL, api_id BIGINT NOT NULL, step_order INT DEFAULT 0 NOT NULL, parallel_group VARCHAR(64), type VARCHAR(32) NOT NULL, target_endpoint VARCHAR(512), request_mapping_expr CLOB, response_mapping_expr CLOB, transform_id BIGINT, timeout BIGINT, fallback_strategy CLOB, condition_expr CLOB, stop_on_error BIT DEFAULT '0' NOT NULL, creator VARCHAR(64) DEFAULT '' NOT NULL, create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, updater VARCHAR(64) DEFAULT '' NOT NULL, update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, deleted BIT DEFAULT '0' NOT NULL ); CREATE INDEX idx_databus_api_step_api_order ON databus_api_step (tenant_id, api_id, parallel_group, step_order); COMMENT ON TABLE databus_api_step IS '统一外部 API 门户 - 编排步骤表'; COMMENT ON COLUMN databus_api_step.id IS '主键 ID'; COMMENT ON COLUMN databus_api_step.tenant_id IS '租户编号'; COMMENT ON COLUMN databus_api_step.api_id IS '关联的 API ID'; COMMENT ON COLUMN databus_api_step.step_order IS '执行顺序'; COMMENT ON COLUMN databus_api_step.parallel_group IS '并行分组标识'; COMMENT ON COLUMN databus_api_step.type IS '步骤类型'; COMMENT ON COLUMN databus_api_step.target_endpoint IS '目标端点'; COMMENT ON COLUMN databus_api_step.request_mapping_expr IS '请求映射表达式'; COMMENT ON COLUMN databus_api_step.response_mapping_expr IS '响应映射表达式'; COMMENT ON COLUMN databus_api_step.transform_id IS '默认变换 ID'; COMMENT ON COLUMN databus_api_step.timeout IS '超时时间(毫秒)'; COMMENT ON COLUMN databus_api_step.fallback_strategy IS '降级策略 JSON'; COMMENT ON COLUMN databus_api_step.condition_expr IS '执行条件表达式'; COMMENT ON COLUMN databus_api_step.stop_on_error IS '出错是否终止'; COMMENT ON COLUMN databus_api_step.creator IS '创建者'; COMMENT ON COLUMN databus_api_step.create_time IS '创建时间'; COMMENT ON COLUMN databus_api_step.updater IS '更新者'; COMMENT ON COLUMN databus_api_step.update_time IS '更新时间'; COMMENT ON COLUMN databus_api_step.deleted IS '逻辑删除标记'; -- ---------------------------- -- Table structure for databus_api_transform -- ---------------------------- CREATE TABLE databus_api_transform ( id BIGINT NOT NULL PRIMARY KEY, tenant_id BIGINT NOT NULL, api_id BIGINT, step_id BIGINT, phase VARCHAR(32) NOT NULL, expression_type VARCHAR(32) NOT NULL, expression CLOB NOT NULL, description VARCHAR(512), creator VARCHAR(64) DEFAULT '' NOT NULL, create_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, updater VARCHAR(64) DEFAULT '' NOT NULL, update_time DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL, deleted BIT DEFAULT '0' NOT NULL ); CREATE INDEX idx_databus_api_transform_api ON databus_api_transform (tenant_id, api_id); CREATE INDEX idx_databus_api_transform_step ON databus_api_transform (tenant_id, step_id); COMMENT ON TABLE databus_api_transform IS '统一外部 API 门户 - 变换配置表'; COMMENT ON COLUMN databus_api_transform.id IS '主键 ID'; COMMENT ON COLUMN databus_api_transform.tenant_id IS '租户编号'; COMMENT ON COLUMN databus_api_transform.api_id IS '关联的 API ID'; COMMENT ON COLUMN databus_api_transform.step_id IS '关联的步骤 ID'; COMMENT ON COLUMN databus_api_transform.phase IS '执行阶段'; COMMENT ON COLUMN databus_api_transform.expression_type IS '表达式类型'; COMMENT ON COLUMN databus_api_transform.expression IS '表达式内容'; COMMENT ON COLUMN databus_api_transform.description IS '描述信息'; COMMENT ON COLUMN databus_api_transform.creator IS '创建者'; COMMENT ON COLUMN databus_api_transform.create_time IS '创建时间'; COMMENT ON COLUMN databus_api_transform.updater IS '更新者'; COMMENT ON COLUMN databus_api_transform.update_time IS '更新时间'; COMMENT ON COLUMN databus_api_transform.deleted IS '逻辑删除标记'; -- 统一外部网关 - 客户端凭证表(DM8) -- 可重复执行的建表脚本,执行前请备份历史数据 DROP TABLE IF EXISTS databus_api_client_credential; CREATE TABLE databus_api_client_credential ( id BIGINT NOT NULL PRIMARY KEY, app_id VARCHAR(64) NOT NULL, app_name VARCHAR(128), encryption_key VARCHAR(512) NOT NULL, encryption_type VARCHAR(32) NOT NULL, signature_type VARCHAR(32) NOT NULL, enabled BIT DEFAULT '1' NOT NULL, remark VARCHAR(255), 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 BIT DEFAULT '0' NOT NULL ); CREATE UNIQUE INDEX uk_databus_api_client_credential_app ON databus_api_client_credential (app_id); CREATE INDEX idx_databus_api_client_credential_enabled ON databus_api_client_credential (enabled); COMMENT ON TABLE databus_api_client_credential IS '统一外部 API 门户 - 客户端凭证表'; COMMENT ON COLUMN databus_api_client_credential.id IS '主键 ID'; COMMENT ON COLUMN databus_api_client_credential.app_id IS '客户端标识'; COMMENT ON COLUMN databus_api_client_credential.app_name IS '客户端名称'; COMMENT ON COLUMN databus_api_client_credential.encryption_key IS '加密密钥 Base64'; COMMENT ON COLUMN databus_api_client_credential.encryption_type IS '加密算法'; COMMENT ON COLUMN databus_api_client_credential.signature_type IS '签名算法'; COMMENT ON COLUMN databus_api_client_credential.enabled IS '是否启用'; COMMENT ON COLUMN databus_api_client_credential.remark IS '备注'; COMMENT ON COLUMN databus_api_client_credential.creator IS '创建者'; COMMENT ON COLUMN databus_api_client_credential.create_time IS '创建时间'; COMMENT ON COLUMN databus_api_client_credential.updater IS '更新者'; COMMENT ON COLUMN databus_api_client_credential.update_time IS '更新时间'; COMMENT ON COLUMN databus_api_client_credential.deleted IS '逻辑删除标记';