-- ============================================= -- 数据总线 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';