silentbalanceyh/vertx-zero

View on GitHub
vertx-pin/zero-is/src/main/resources/plugin/sql/is/I_PORTFOLIO.sql

Summary

Maintainability
Test Coverage
-- liquibase formatted sql

-- changeset Lang:ox-o_portfolio-1
-- IPortfolio表:I_PORTFOLIO
-- 文件夹,公事包,组合
DROP TABLE IF EXISTS I_PORTFOLIO;
CREATE TABLE IF NOT EXISTS I_PORTFOLIO
(
    `KEY`              VARCHAR(36) COMMENT '「key」- 目录专用ID',
    `NAME`             VARCHAR(255) COMMENT '「name」- 目录名称',
    `CODE`             VARCHAR(255) COMMENT '「code」- 目录系统编码',

    /*
     * -- CREATED,   新创建
     * -- CONNECTED, 已连接(验证过)
     * -- EXPIRED,   更新后
     * -- FAILURE,   连接失败
     */
    `STATUS`           VARCHAR(255) COMMENT '「status」- 目录状态',
    -- 目录类型,此处目录类型和集成类型一致,如 ldap / ldap 标识 LDAP 集成类型和目录类型
    `TYPE`             VARCHAR(255) COMMENT '「type」- 目录类型',
    `INTEGRATION_ID`   VARCHAR(36) COMMENT '「integrationId」- 是否关联集成配置,管理时直接同步',

    /*
     * 目录的关联,使用
     * OWNER_TYPE + OWNER 执行关联
     * 如果拥有集成ID,则消费集成配置,否则不消费集成配置执行关联
     * -- OWNER_TYPE的值列表
     * -- COMPANY       -- E_COMPANY
     * -- CUSTOMER      -- E_CUSTOMER
     * -- DEPARTMENT    -- E_DEPT
     * -- TEAM          -- E_TEAM
     * -- GROUP         -- S_GROUP
     * -- ROLE          -- S_ROLE
     * -- USER          -- S_USER
     * LDAP处理流程
     * 1)一个用户可配置多个LDAP的 IPortfolio,对于它所绑定的集成部分可以是相同的也可以是不同的
     * 2)根据用户所配置的目录,可选择手动同步,如果是自动同步所有,则提取优先级比较高的数据作为核心数据
     * 3)I_PORTFOLIO 中存储的配置可提供子账号功能
     */
    `OWNER_TYPE`       VARCHAR(20) COMMENT '「ownerType」- 关联主体类型',
    `OWNER`            VARCHAR(36) COMMENT '「owner」- 关联主体主键',

    /* runComponent 会直接消费对应的几个字段中存储的配置值 */
    -- 执行组件专用处理,加载基础规则
    `RUN_COMPONENT`    TEXT COMMENT '「runComponent」- 执行组件,LDAP执行专用',
    `RUN_CONFIG`       LONGTEXT COMMENT '「runConfig」- 执行组件额外配置',

    -- 执行系统专用的数据内容
    `DATA_KEY`         NVARCHAR(512) COMMENT '「dataKey」- LDAP路径做完整标识',
    `DATA_CONFIG`      LONGTEXT COMMENT '「dataConfig」- 数据基础配置',
    `DATA_SECURE`      LONGTEXT COMMENT '「dataSecure」- 安全专用配置',
    `DATA_INTEGRATION` LONGTEXT COMMENT '「dataIntegration」- 绑定好过后,导入/导出数据专用配置',

    -- 特殊属性
    `APP_ID`           VARCHAR(36) COMMENT '「appId」- 关联的应用程序ID',

    -- 特殊字段
    `ACTIVE`           BIT         DEFAULT NULL COMMENT '「active」- 是否启用',
    `SIGMA`            VARCHAR(32) DEFAULT NULL COMMENT '「sigma」- 统一标识',
    `METADATA`         TEXT COMMENT '「metadata」- 附加配置',
    `LANGUAGE`         VARCHAR(8)  DEFAULT NULL COMMENT '「language」- 使用的语言',

    -- Auditor字段
    `CREATED_AT`       DATETIME COMMENT '「createdAt」- 创建时间',
    `CREATED_BY`       VARCHAR(36) COMMENT '「createdBy」- 创建人',
    `UPDATED_AT`       DATETIME COMMENT '「updatedAt」- 更新时间',
    `UPDATED_BY`       VARCHAR(36) COMMENT '「updatedBy」- 更新人',
    PRIMARY KEY (`KEY`)
);
-- changeset Lang:ox-o_portfolio-2
ALTER TABLE I_PORTFOLIO
    ADD UNIQUE (`CODE`, `SIGMA`);