53 lines
2.9 KiB
SQL
53 lines
2.9 KiB
SQL
-- =============================================
|
||
-- 数据总线 API 版本历史表(备忘录模式)
|
||
-- 功能说明:
|
||
-- 1. 每次保存 API 配置时自动创建版本记录
|
||
-- 2. 版本号自动递增(v1, v2, v3...)
|
||
-- 3. 保留完整历史链,不可删除
|
||
-- 4. 支持一键回滚到任意历史版本
|
||
-- 5. 支持版本对比功能
|
||
-- =============================================
|
||
|
||
-- 如果表已存在则删除
|
||
DROP TABLE IF EXISTS databus_api_version;
|
||
|
||
-- 创建版本历史表(DM8 语法)
|
||
CREATE TABLE databus_api_version (
|
||
id BIGINT NOT NULL,
|
||
api_id BIGINT NOT NULL,
|
||
version_number INTEGER NOT NULL,
|
||
snapshot_data CLOB NOT NULL,
|
||
description VARCHAR(500),
|
||
is_current NUMBER(1) DEFAULT 0 NOT NULL,
|
||
operator VARCHAR(64),
|
||
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 NUMBER(1) DEFAULT 0 NOT NULL,
|
||
tenant_id BIGINT DEFAULT 0 NOT NULL,
|
||
CONSTRAINT pk_databus_api_version PRIMARY KEY (id)
|
||
);
|
||
|
||
-- 创建索引
|
||
CREATE INDEX idx_databus_api_version_api_id ON databus_api_version (api_id);
|
||
CREATE INDEX idx_databus_api_version_version_number ON databus_api_version (api_id, version_number);
|
||
CREATE INDEX idx_databus_api_version_is_current ON databus_api_version (api_id, is_current);
|
||
CREATE INDEX idx_databus_api_version_create_time ON databus_api_version (create_time);
|
||
CREATE INDEX idx_databus_api_version_operator ON databus_api_version (operator);
|
||
|
||
COMMENT ON TABLE databus_api_version IS '数据总线API版本历史表:采用备忘录模式,每次保存API时自动创建版本快照,支持完整的版本历史追溯和回滚';
|
||
COMMENT ON COLUMN databus_api_version.id IS '主键ID';
|
||
COMMENT ON COLUMN databus_api_version.api_id IS 'API定义ID,关联databus_api_definition表';
|
||
COMMENT ON COLUMN databus_api_version.version_number IS '版本号,同一API下自动递增(1,2,3...)';
|
||
COMMENT ON COLUMN databus_api_version.snapshot_data IS 'API完整配置快照(JSON格式),包含definition、steps、transforms等所有信息';
|
||
COMMENT ON COLUMN databus_api_version.description IS '变更说明,记录本次修改的内容';
|
||
COMMENT ON COLUMN databus_api_version.is_current IS '是否为当前版本(1=是,0=否),同一API只有一个当前版本';
|
||
COMMENT ON COLUMN databus_api_version.operator IS '操作人,记录谁创建了这个版本';
|
||
COMMENT ON COLUMN databus_api_version.creator IS '创建者';
|
||
COMMENT ON COLUMN databus_api_version.create_time IS '创建时间(版本创建时间)';
|
||
COMMENT ON COLUMN databus_api_version.updater IS '更新者';
|
||
COMMENT ON COLUMN databus_api_version.update_time IS '更新时间';
|
||
COMMENT ON COLUMN databus_api_version.deleted IS '是否删除(逻辑删除,实际不删除版本历史)';
|
||
COMMENT ON COLUMN databus_api_version.tenant_id IS '租户ID';
|