本来想着去拉 activiti 源码来修改,但是是内网访问不了github

1. 第一步 先确定 activiti 版本,我这边使用的是 7.0.0.Beta2 , 这边可以联系作者 关注公众号 疯狂的野猿 发送 activiti-dm 获取文章中所需的 测试项目和所有依赖

2. 第二部 找到 activiti-engine-7.0.0.Beta2.jar,activiti-process-validation-7.0.0.Beta2.jar ,在这两个文件同一目录下面有 activiti-engine-7.0.0.Beta2-sources.jar 和 activiti-process-validation-7.0.0.Beta2-sources.jar 展开 External Libraries 直接搜索 activiti 就能找到响应的jar 包。

在这里插入图片描述
右击jar 包,点击 Explorer 就能找到jar 响应的位置
在这里插入图片描述
在这里插入图片描述
解压 activiti-engine-7.0.0.Beta2-sources.jar 得到 源文件
在这里插入图片描述

按照此办法将两个 带source 的源文件都解压。

3. 随便新建一个 maven 项目 将刚刚解压的 两个文件中 org 目录复制到 maven 项目里面在这里插入图片描述

接着编译项目在这里插入图片描述
如果遇到找不到 javax.xxx.xxx 就在项目下面新建 lib 目录然后引用这几个jar 包,在这里插入图片描述
点击java
点击java
全选jar 然后点击ok
在这里插入图片描述
直到项目编译通过

4. 进行源码修改

4.1 修改这三个类
4.1.1. 修改类 org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl
4.1.1.1 增加成员变量
  protected static Properties databaseTypeMappings = getDefaultDatabaseTypeMappings();

  public static final String DATABASE_TYPE_DM = "dm"; // 新添加的
  public static final String DATABASE_TYPE_H2 = "h2";
  public static final String DATABASE_TYPE_HSQL = "hsql";
  public static final String DATABASE_TYPE_MYSQL = "mysql";
  public static final String DATABASE_TYPE_ORACLE = "oracle";
  public static final String DATABASE_TYPE_POSTGRES = "postgres";
  public static final String DATABASE_TYPE_MSSQL = "mssql";
  public static final String DATABASE_TYPE_DB2 = "db2";
4.1.1.2 修改 getDefaultDatabaseTypeMappings() 方法
 public static Properties getDefaultDatabaseTypeMappings() {
    Properties databaseTypeMappings = new Properties();

    databaseTypeMappings.setProperty("DM DBMS", DATABASE_TYPE_DM); // 新添加的

    databaseTypeMappings.setProperty("H2", DATABASE_TYPE_H2);
    databaseTypeMappings.setProperty("HSQL Database Engine", DATABASE_TYPE_HSQL);
    databaseTypeMappings.setProperty("MySQL", DATABASE_TYPE_MYSQL);
    databaseTypeMappings.setProperty("Oracle", DATABASE_TYPE_ORACLE);
    databaseTypeMappings.setProperty("PostgreSQL", DATABASE_TYPE_POSTGRES);
    databaseTypeMappings.setProperty("Microsoft SQL Server", DATABASE_TYPE_MSSQL);
    databaseTypeMappings.setProperty(DATABASE_TYPE_DB2, DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2",DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/NT", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/NT64", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2 UDP", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/LINUX", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/LINUX390", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/LINUXX8664", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/LINUXZ64", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/LINUXPPC64",DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/LINUXPPC64LE",DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/400 SQL", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/6000", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2 UDB iSeries", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/AIX64", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/HPUX", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/HP64", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/SUN", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/SUN64", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/PTX", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2/2", DATABASE_TYPE_DB2);
    databaseTypeMappings.setProperty("DB2 UDB AS400", DATABASE_TYPE_DB2);
    return databaseTypeMappings;
  }
4.1.2 修改 org.activiti.engine.impl.db.DbSqlSessionFactory 类的 initBulkInsertEnabledMap 方法
  protected void initBulkInsertEnabledMap(String databaseType) {
  	bulkInsertableMap = new HashMap<Class<? extends Entity>, Boolean>();
  	
  	for (Class<? extends Entity> clazz : EntityDependencyOrder.INSERT_ORDER) {
  		bulkInsertableMap.put(clazz, Boolean.TRUE);
  	}

    // Only Oracle is making a fuss in one specific case right now
    if ("oracle".equals(databaseType) || "dm".equals(databaseType)) {
        bulkInsertableMap.put(EventLogEntryEntityImpl.class, Boolean.FALSE);
    }
  }
4.1.3 修改 org.activiti.engine.impl.AbstractQuery 类的 addOrder 方法如下
protected void addOrder(String column, String sortOrder, NullHandlingOnOrder nullHandlingOnOrder) {

    if (orderBy == null) {
      orderBy = "";
    } else {
      orderBy = orderBy + ", ";
    }

    String defaultOrderByClause = column + " " + sortOrder;

    if (nullHandlingOnOrder != null) {

      if (nullHandlingOnOrder.equals(NullHandlingOnOrder.NULLS_FIRST)) {

        if (ProcessEngineConfigurationImpl.DATABASE_TYPE_H2.equals(databaseType)
                || ProcessEngineConfigurationImpl.DATABASE_TYPE_HSQL.equals(databaseType)
                || ProcessEngineConfigurationImpl.DATABASE_TYPE_POSTGRES.equals(databaseType)
                || ProcessEngineConfigurationImpl.DATABASE_TYPE_ORACLE.equals(databaseType)
                || ProcessEngineConfigurationImpl.DATABASE_TYPE_DM.equals(databaseType)) { // 新加的
          orderBy = orderBy + defaultOrderByClause + " NULLS FIRST";
        } else if (ProcessEngineConfigurationImpl.DATABASE_TYPE_MYSQL.equals(databaseType)) {
          orderBy = orderBy + "isnull(" + column + ") desc," + defaultOrderByClause;
        } else if (ProcessEngineConfigurationImpl.DATABASE_TYPE_DB2.equals(databaseType) || ProcessEngineConfigurationImpl.DATABASE_TYPE_MSSQL.equals(databaseType)) {
          orderBy = orderBy + "case when " + column + " is null then 0 else 1 end," + defaultOrderByClause;
        } else {
          orderBy = orderBy + defaultOrderByClause;
        }

      } else if (nullHandlingOnOrder.equals(NullHandlingOnOrder.NULLS_LAST)) {

        if (ProcessEngineConfigurationImpl.DATABASE_TYPE_H2.equals(databaseType)
                || ProcessEngineConfigurationImpl.DATABASE_TYPE_HSQL.equals(databaseType)
                || ProcessEngineConfigurationImpl.DATABASE_TYPE_POSTGRES.equals(databaseType)
                || ProcessEngineConfigurationImpl.DATABASE_TYPE_ORACLE.equals(databaseType)
                || ProcessEngineConfigurationImpl.DATABASE_TYPE_DM.equals(databaseType)) { // 新加的
          orderBy = orderBy + column + " " + sortOrder + " NULLS LAST";
        } else if (ProcessEngineConfigurationImpl.DATABASE_TYPE_MYSQL.equals(databaseType)) {
          orderBy = orderBy + "isnull(" + column + ") asc," + defaultOrderByClause;
        } else if (ProcessEngineConfigurationImpl.DATABASE_TYPE_DB2.equals(databaseType) || ProcessEngineConfigurationImpl.DATABASE_TYPE_MSSQL.equals(databaseType)) {
          orderBy = orderBy + "case when " + column + " is null then 1 else 0 end," + defaultOrderByClause;
        } else {
          orderBy = orderBy + defaultOrderByClause;
        }

      }

    } else {
      orderBy = orderBy + defaultOrderByClause;
    }

  }

5. 创建响应的文件

5.1 在 org\activiti\db\create 创建相关文件
#5.1.1 创建 activiti.dm.create.engine.sql 文件
create table ACT_GE_PROPERTY (
                                 NAME_ NVARCHAR2(64),
                                 VALUE_ NVARCHAR2(300),
                                 REV_ INTEGER,
                                 primary key (NAME_)
);

insert into ACT_GE_PROPERTY
values ('schema.version', '7.0.0.Beta2', 1);

insert into ACT_GE_PROPERTY
values ('schema.history', 'create(7.0.0.Beta2)', 1);

insert into ACT_GE_PROPERTY
values ('next.dbid', '1', 1);

create table ACT_GE_BYTEARRAY (
                                  ID_ NVARCHAR2(64),
                                  REV_ INTEGER,
                                  NAME_ NVARCHAR2(255),
                                  DEPLOYMENT_ID_ NVARCHAR2(64),
                                  BYTES_ BLOB,
                                  GENERATED_ NUMBER(1,0) CHECK (GENERATED_ IN (1,0)),
                                  primary key (ID_)
);

create table ACT_RE_DEPLOYMENT (
                                   ID_ NVARCHAR2(64),
                                   NAME_ NVARCHAR2(255),
                                   CATEGORY_ NVARCHAR2(255),
                                   KEY_ NVARCHAR2(255),
                                   TENANT_ID_ NVARCHAR2(255) DEFAULT '',
                                   DEPLOY_TIME_ TIMESTAMP(6),
                                   ENGINE_VERSION_ NVARCHAR2(255),
                                   primary key (ID_)
);

create table ACT_RE_MODEL (
                              ID_ NVARCHAR2(64) not null,
                              REV_ INTEGER,
                              NAME_ NVARCHAR2(255),
                              KEY_ NVARCHAR2(255),
                              CATEGORY_ NVARCHAR2(255),
                              CREATE_TIME_ TIMESTAMP(6),
                              LAST_UPDATE_TIME_ TIMESTAMP(6),
                              VERSION_ INTEGER,
                              META_INFO_ NVARCHAR2(2000),
                              DEPLOYMENT_ID_ NVARCHAR2(64),
                              EDITOR_SOURCE_VALUE_ID_ NVARCHAR2(64),
                              EDITOR_SOURCE_EXTRA_VALUE_ID_ NVARCHAR2(64),
                              TENANT_ID_ NVARCHAR2(255) DEFAULT '',
                              primary key (ID_)
);

create table ACT_RU_EXECUTION (
                                  ID_ NVARCHAR2(64),
                                  REV_ INTEGER,
                                  PROC_INST_ID_ NVARCHAR2(64),
                                  BUSINESS_KEY_ NVARCHAR2(255),
                                  PARENT_ID_ NVARCHAR2(64),
                                  PROC_DEF_ID_ NVARCHAR2(64),
                                  SUPER_EXEC_ NVARCHAR2(64),
                                  ROOT_PROC_INST_ID_ NVARCHAR2(64),
                                  ACT_ID_ NVARCHAR2(255),
                                  IS_ACTIVE_ NUMBER(1,0) CHECK (IS_ACTIVE_ IN (1,0)),
                                  IS_CONCURRENT_ NUMBER(1,0) CHECK (IS_CONCURRENT_ IN (1,0)),
                                  IS_SCOPE_ NUMBER(1,0) CHECK (IS_SCOPE_ IN (1,0)),
                                  IS_EVENT_SCOPE_ NUMBER(1,0) CHECK (IS_EVENT_SCOPE_ IN (1,0)),
                                  IS_MI_ROOT_ NUMBER(1,0) CHECK (IS_MI_ROOT_ IN (1,0)),
                                  SUSPENSION_STATE_ INTEGER,
                                  CACHED_ENT_STATE_ INTEGER,
                                  TENANT_ID_ NVARCHAR2(255) DEFAULT '',
                                  NAME_ NVARCHAR2(255),
                                  START_TIME_ TIMESTAMP(6),
                                  START_USER_ID_ NVARCHAR2(255),
                                  LOCK_TIME_ TIMESTAMP(6),
                                  IS_COUNT_ENABLED_ NUMBER(1,0) CHECK (IS_COUNT_ENABLED_ IN (1,0)),
                                  EVT_SUBSCR_COUNT_ INTEGER,
                                  TASK_COUNT_ INTEGER,
                                  JOB_COUNT_ INTEGER,
                                  TIMER_JOB_COUNT_ INTEGER,
                                  SUSP_JOB_COUNT_ INTEGER,
                                  DEADLETTER_JOB_COUNT_ INTEGER,
                                  VAR_COUNT_ INTEGER,
                                  ID_LINK_COUNT_ INTEGER,
                                  primary key (ID_)
);

create table ACT_RU_JOB (
                            ID_ NVARCHAR2(64) NOT NULL,
                            REV_ INTEGER,
                            TYPE_ NVARCHAR2(255) NOT NULL,
                            LOCK_EXP_TIME_ TIMESTAMP(6),
                            LOCK_OWNER_ NVARCHAR2(255),
                            EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)),
                            EXECUTION_ID_ NVARCHAR2(64),
                            PROCESS_INSTANCE_ID_ NVARCHAR2(64),
                            PROC_DEF_ID_ NVARCHAR2(64),
                            RETRIES_ INTEGER,
                            EXCEPTION_STACK_ID_ NVARCHAR2(64),
                            EXCEPTION_MSG_ NVARCHAR2(2000),
                            DUEDATE_ TIMESTAMP(6),
                            REPEAT_ NVARCHAR2(255),
                            HANDLER_TYPE_ NVARCHAR2(255),
                            HANDLER_CFG_ NVARCHAR2(2000),
                            TENANT_ID_ NVARCHAR2(255) DEFAULT '',
                            primary key (ID_)
);

create table ACT_RU_TIMER_JOB (
                                  ID_ NVARCHAR2(64) NOT NULL,
                                  REV_ INTEGER,
                                  TYPE_ NVARCHAR2(255) NOT NULL,
                                  LOCK_EXP_TIME_ TIMESTAMP(6),
                                  LOCK_OWNER_ NVARCHAR2(255),
                                  EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)),
                                  EXECUTION_ID_ NVARCHAR2(64),
                                  PROCESS_INSTANCE_ID_ NVARCHAR2(64),
                                  PROC_DEF_ID_ NVARCHAR2(64),
                                  RETRIES_ INTEGER,
                                  EXCEPTION_STACK_ID_ NVARCHAR2(64),
                                  EXCEPTION_MSG_ NVARCHAR2(2000),
                                  DUEDATE_ TIMESTAMP(6),
                                  REPEAT_ NVARCHAR2(255),
                                  HANDLER_TYPE_ NVARCHAR2(255),
                                  HANDLER_CFG_ NVARCHAR2(2000),
                                  TENANT_ID_ NVARCHAR2(255) DEFAULT '',
                                  primary key (ID_)
);

create table ACT_RU_SUSPENDED_JOB (
                                      ID_ NVARCHAR2(64) NOT NULL,
                                      REV_ INTEGER,
                                      TYPE_ NVARCHAR2(255) NOT NULL,
                                      EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)),
                                      EXECUTION_ID_ NVARCHAR2(64),
                                      PROCESS_INSTANCE_ID_ NVARCHAR2(64),
                                      PROC_DEF_ID_ NVARCHAR2(64),
                                      RETRIES_ INTEGER,
                                      EXCEPTION_STACK_ID_ NVARCHAR2(64),
                                      EXCEPTION_MSG_ NVARCHAR2(2000),
                                      DUEDATE_ TIMESTAMP(6),
                                      REPEAT_ NVARCHAR2(255),
                                      HANDLER_TYPE_ NVARCHAR2(255),
                                      HANDLER_CFG_ NVARCHAR2(2000),
                                      TENANT_ID_ NVARCHAR2(255) DEFAULT '',
                                      primary key (ID_)
);

create table ACT_RU_DEADLETTER_JOB (
                                       ID_ NVARCHAR2(64) NOT NULL,
                                       REV_ INTEGER,
                                       TYPE_ NVARCHAR2(255) NOT NULL,
                                       EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)),
                                       EXECUTION_ID_ NVARCHAR2(64),
                                       PROCESS_INSTANCE_ID_ NVARCHAR2(64),
                                       PROC_DEF_ID_ NVARCHAR2(64),
                                       EXCEPTION_STACK_ID_ NVARCHAR2(64),
                                       EXCEPTION_MSG_ NVARCHAR2(2000),
                                       DUEDATE_ TIMESTAMP(6),
                                       REPEAT_ NVARCHAR2(255),
                                       HANDLER_TYPE_ NVARCHAR2(255),
                                       HANDLER_CFG_ NVARCHAR2(2000),
                                       TENANT_ID_ NVARCHAR2(255) DEFAULT '',
                                       primary key (ID_)
);

create table ACT_RE_PROCDEF (
                                ID_ NVARCHAR2(64) NOT NULL,
                                REV_ INTEGER,
                                CATEGORY_ NVARCHAR2(255),
                                NAME_ NVARCHAR2(255),
                                KEY_ NVARCHAR2(255) NOT NULL,
                                VERSION_ INTEGER NOT NULL,
                                DEPLOYMENT_ID_ NVARCHAR2(64),
                                RESOURCE_NAME_ NVARCHAR2(2000),
                                DGRM_RESOURCE_NAME_ varchar(4000),
                                DESCRIPTION_ NVARCHAR2(2000),
                                HAS_START_FORM_KEY_ NUMBER(1,0) CHECK (HAS_START_FORM_KEY_ IN (1,0)),
                                HAS_GRAPHICAL_NOTATION_ NUMBER(1,0) CHECK (HAS_GRAPHICAL_NOTATION_ IN (1,0)),
                                SUSPENSION_STATE_ INTEGER,
                                TENANT_ID_ NVARCHAR2(255) DEFAULT '',
                                ENGINE_VERSION_ NVARCHAR2(255),
                                primary key (ID_)
);

create table ACT_RU_TASK (
                             ID_ NVARCHAR2(64),
                             REV_ INTEGER,
                             EXECUTION_ID_ NVARCHAR2(64),
                             PROC_INST_ID_ NVARCHAR2(64),
                             PROC_DEF_ID_ NVARCHAR2(64),
                             NAME_ NVARCHAR2(255),
                             PARENT_TASK_ID_ NVARCHAR2(64),
                             DESCRIPTION_ NVARCHAR2(2000),
                             TASK_DEF_KEY_ NVARCHAR2(255),
                             OWNER_ NVARCHAR2(255),
                             ASSIGNEE_ NVARCHAR2(255),
                             DELEGATION_ NVARCHAR2(64),
                             PRIORITY_ INTEGER,
                             CREATE_TIME_ TIMESTAMP(6),
                             DUE_DATE_ TIMESTAMP(6),
                             CATEGORY_ NVARCHAR2(255),
                             SUSPENSION_STATE_ INTEGER,
                             TENANT_ID_ NVARCHAR2(255) DEFAULT '',
                             FORM_KEY_ NVARCHAR2(255),
                             CLAIM_TIME_ TIMESTAMP(6),
                             primary key (ID_)
);

create table ACT_RU_IDENTITYLINK (
                                     ID_ NVARCHAR2(64),
                                     REV_ INTEGER,
                                     GROUP_ID_ NVARCHAR2(255),
                                     TYPE_ NVARCHAR2(255),
                                     USER_ID_ NVARCHAR2(255),
                                     TASK_ID_ NVARCHAR2(64),
                                     PROC_INST_ID_ NVARCHAR2(64),
                                     PROC_DEF_ID_ NVARCHAR2(64),
                                     primary key (ID_)
);

create table ACT_RU_VARIABLE (
                                 ID_ NVARCHAR2(64) not null,
                                 REV_ INTEGER,
                                 TYPE_ NVARCHAR2(255) not null,
                                 NAME_ NVARCHAR2(255) not null,
                                 EXECUTION_ID_ NVARCHAR2(64),
                                 PROC_INST_ID_ NVARCHAR2(64),
                                 TASK_ID_ NVARCHAR2(64),
                                 BYTEARRAY_ID_ NVARCHAR2(64),
                                 DOUBLE_ NUMBER(*,10),
                                 LONG_ NUMBER(19,0),
                                 TEXT_ NVARCHAR2(2000),
                                 TEXT2_ NVARCHAR2(2000),
                                 primary key (ID_)
);

create table ACT_RU_EVENT_SUBSCR (
                                     ID_ NVARCHAR2(64) not null,
                                     REV_ integer,
                                     EVENT_TYPE_ NVARCHAR2(255) not null,
                                     EVENT_NAME_ NVARCHAR2(255),
                                     EXECUTION_ID_ NVARCHAR2(64),
                                     PROC_INST_ID_ NVARCHAR2(64),
                                     ACTIVITY_ID_ NVARCHAR2(64),
                                     CONFIGURATION_ NVARCHAR2(255),
                                     CREATED_ TIMESTAMP(6) not null,
                                     PROC_DEF_ID_ NVARCHAR2(64),
                                     TENANT_ID_ NVARCHAR2(255) DEFAULT '',
                                     primary key (ID_)
);

create table ACT_EVT_LOG (
                             LOG_NR_ NUMBER(19),
                             TYPE_ NVARCHAR2(64),
                             PROC_DEF_ID_ NVARCHAR2(64),
                             PROC_INST_ID_ NVARCHAR2(64),
                             EXECUTION_ID_ NVARCHAR2(64),
                             TASK_ID_ NVARCHAR2(64),
                             TIME_STAMP_ TIMESTAMP(6) not null,
                             USER_ID_ NVARCHAR2(255),
                             DATA_ BLOB,
                             LOCK_OWNER_ NVARCHAR2(255),
                             LOCK_TIME_ TIMESTAMP(6) null,
                             IS_PROCESSED_ NUMBER(3) default 0,
                             primary key (LOG_NR_)
);

create sequence act_evt_log_seq;

create table ACT_PROCDEF_INFO (
                                  ID_ NVARCHAR2(64) not null,
                                  PROC_DEF_ID_ NVARCHAR2(64) not null,
                                  REV_ integer,
                                  INFO_JSON_ID_ NVARCHAR2(64),
                                  primary key (ID_)
);

create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
create index ACT_IDX_EXEC_ROOT on ACT_RU_EXECUTION(ROOT_PROC_INST_ID_);
create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);

create index ACT_IDX_BYTEAR_DEPL on ACT_GE_BYTEARRAY(DEPLOYMENT_ID_);
alter table ACT_GE_BYTEARRAY
    add constraint ACT_FK_BYTEARR_DEPL
        foreign key (DEPLOYMENT_ID_)
            references ACT_RE_DEPLOYMENT (ID_);

alter table ACT_RE_PROCDEF
    add constraint ACT_UNIQ_PROCDEF
        unique (KEY_,VERSION_, TENANT_ID_);

create index ACT_IDX_EXE_PROCINST on ACT_RU_EXECUTION(PROC_INST_ID_);
alter table ACT_RU_EXECUTION
    add constraint ACT_FK_EXE_PROCINST
        foreign key (PROC_INST_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_EXE_PARENT on ACT_RU_EXECUTION(PARENT_ID_);
alter table ACT_RU_EXECUTION
    add constraint ACT_FK_EXE_PARENT
        foreign key (PARENT_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_EXE_SUPER on ACT_RU_EXECUTION(SUPER_EXEC_);
alter table ACT_RU_EXECUTION
    add constraint ACT_FK_EXE_SUPER
        foreign key (SUPER_EXEC_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_EXE_PROCDEF on ACT_RU_EXECUTION(PROC_DEF_ID_);
alter table ACT_RU_EXECUTION
    add constraint ACT_FK_EXE_PROCDEF
        foreign key (PROC_DEF_ID_)
            references ACT_RE_PROCDEF (ID_);

create index ACT_IDX_TSKASS_TASK on ACT_RU_IDENTITYLINK(TASK_ID_);
alter table ACT_RU_IDENTITYLINK
    add constraint ACT_FK_TSKASS_TASK
        foreign key (TASK_ID_)
            references ACT_RU_TASK (ID_);

create index ACT_IDX_ATHRZ_PROCEDEF  on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
alter table ACT_RU_IDENTITYLINK
    add constraint ACT_FK_ATHRZ_PROCEDEF
        foreign key (PROC_DEF_ID_)
            references ACT_RE_PROCDEF (ID_);

create index ACT_IDX_IDL_PROCINST on ACT_RU_IDENTITYLINK(PROC_INST_ID_);
alter table ACT_RU_IDENTITYLINK
    add constraint ACT_FK_IDL_PROCINST
        foreign key (PROC_INST_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_TASK_EXEC on ACT_RU_TASK(EXECUTION_ID_);
alter table ACT_RU_TASK
    add constraint ACT_FK_TASK_EXE
        foreign key (EXECUTION_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_TASK_PROCINST on ACT_RU_TASK(PROC_INST_ID_);
alter table ACT_RU_TASK
    add constraint ACT_FK_TASK_PROCINST
        foreign key (PROC_INST_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_TASK_PROCDEF on ACT_RU_TASK(PROC_DEF_ID_);
alter table ACT_RU_TASK
    add constraint ACT_FK_TASK_PROCDEF
        foreign key (PROC_DEF_ID_)
            references ACT_RE_PROCDEF (ID_);

create index ACT_IDX_VAR_EXE on ACT_RU_VARIABLE(EXECUTION_ID_);
alter table ACT_RU_VARIABLE
    add constraint ACT_FK_VAR_EXE
        foreign key (EXECUTION_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_VAR_PROCINST on ACT_RU_VARIABLE(PROC_INST_ID_);
alter table ACT_RU_VARIABLE
    add constraint ACT_FK_VAR_PROCINST
        foreign key (PROC_INST_ID_)
            references ACT_RU_EXECUTION(ID_);

create index ACT_IDX_VAR_BYTEARRAY on ACT_RU_VARIABLE(BYTEARRAY_ID_);
alter table ACT_RU_VARIABLE
    add constraint ACT_FK_VAR_BYTEARRAY
        foreign key (BYTEARRAY_ID_)
            references ACT_GE_BYTEARRAY (ID_);

create index ACT_IDX_JOB_EXECUTION_ID on ACT_RU_JOB(EXECUTION_ID_);
alter table ACT_RU_JOB
    add constraint ACT_FK_JOB_EXECUTION
        foreign key (EXECUTION_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_JOB_PROC_INST_ID on ACT_RU_JOB(PROCESS_INSTANCE_ID_);
alter table ACT_RU_JOB
    add constraint ACT_FK_JOB_PROCESS_INSTANCE
        foreign key (PROCESS_INSTANCE_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_JOB_PROC_DEF_ID on ACT_RU_JOB(PROC_DEF_ID_);
alter table ACT_RU_JOB
    add constraint ACT_FK_JOB_PROC_DEF
        foreign key (PROC_DEF_ID_)
            references ACT_RE_PROCDEF (ID_);

create index ACT_IDX_JOB_EXCEPTION on ACT_RU_JOB(EXCEPTION_STACK_ID_);
alter table ACT_RU_JOB
    add constraint ACT_FK_JOB_EXCEPTION
        foreign key (EXCEPTION_STACK_ID_)
            references ACT_GE_BYTEARRAY (ID_);

create index ACT_IDX_TJOB_EXECUTION_ID on ACT_RU_TIMER_JOB(EXECUTION_ID_);
alter table ACT_RU_TIMER_JOB
    add constraint ACT_FK_TJOB_EXECUTION
        foreign key (EXECUTION_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_TJOB_PROC_INST_ID on ACT_RU_TIMER_JOB(PROCESS_INSTANCE_ID_);
alter table ACT_RU_TIMER_JOB
    add constraint ACT_FK_TJOB_PROCESS_INSTANCE
        foreign key (PROCESS_INSTANCE_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_TJOB_PROC_DEF_ID on ACT_RU_TIMER_JOB(PROC_DEF_ID_);
alter table ACT_RU_TIMER_JOB
    add constraint ACT_FK_TJOB_PROC_DEF
        foreign key (PROC_DEF_ID_)
            references ACT_RE_PROCDEF (ID_);

create index ACT_IDX_TJOB_EXCEPTION on ACT_RU_TIMER_JOB(EXCEPTION_STACK_ID_);
alter table ACT_RU_TIMER_JOB
    add constraint ACT_FK_TJOB_EXCEPTION
        foreign key (EXCEPTION_STACK_ID_)
            references ACT_GE_BYTEARRAY (ID_);

create index ACT_IDX_SJOB_EXECUTION_ID on ACT_RU_SUSPENDED_JOB(EXECUTION_ID_);
alter table ACT_RU_SUSPENDED_JOB
    add constraint ACT_FK_SJOB_EXECUTION
        foreign key (EXECUTION_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_SJOB_PROC_INST_ID on ACT_RU_SUSPENDED_JOB(PROCESS_INSTANCE_ID_);
alter table ACT_RU_SUSPENDED_JOB
    add constraint ACT_FK_SJOB_PROCESS_INSTANCE
        foreign key (PROCESS_INSTANCE_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_SJOB_PROC_DEF_ID on ACT_RU_SUSPENDED_JOB(PROC_DEF_ID_);
alter table ACT_RU_SUSPENDED_JOB
    add constraint ACT_FK_SJOB_PROC_DEF
        foreign key (PROC_DEF_ID_)
            references ACT_RE_PROCDEF (ID_);

create index ACT_IDX_SJOB_EXCEPTION on ACT_RU_SUSPENDED_JOB(EXCEPTION_STACK_ID_);
alter table ACT_RU_SUSPENDED_JOB
    add constraint ACT_FK_SJOB_EXCEPTION
        foreign key (EXCEPTION_STACK_ID_)
            references ACT_GE_BYTEARRAY (ID_);

create index ACT_IDX_DJOB_EXECUTION_ID on ACT_RU_DEADLETTER_JOB(EXECUTION_ID_);
alter table ACT_RU_DEADLETTER_JOB
    add constraint ACT_FK_DJOB_EXECUTION
        foreign key (EXECUTION_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_DJOB_PROC_INST_ID on ACT_RU_DEADLETTER_JOB(PROCESS_INSTANCE_ID_);
alter table ACT_RU_DEADLETTER_JOB
    add constraint ACT_FK_DJOB_PROCESS_INSTANCE
        foreign key (PROCESS_INSTANCE_ID_)
            references ACT_RU_EXECUTION (ID_);

create index ACT_IDX_DJOB_PROC_DEF_ID on ACT_RU_DEADLETTER_JOB(PROC_DEF_ID_);
alter table ACT_RU_DEADLETTER_JOB
    add constraint ACT_FK_DJOB_PROC_DEF
        foreign key (PROC_DEF_ID_)
            references ACT_RE_PROCDEF (ID_);

create index ACT_IDX_DJOB_EXCEPTION on ACT_RU_DEADLETTER_JOB(EXCEPTION_STACK_ID_);
alter table ACT_RU_DEADLETTER_JOB
    add constraint ACT_FK_DJOB_EXCEPTION
        foreign key (EXCEPTION_STACK_ID_)
            references ACT_GE_BYTEARRAY (ID_);

create index ACT_IDX_EVENT_SUBSCR on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_);
alter table ACT_RU_EVENT_SUBSCR
    add constraint ACT_FK_EVENT_EXEC
        foreign key (EXECUTION_ID_)
            references ACT_RU_EXECUTION(ID_);

create index ACT_IDX_MODEL_SOURCE on ACT_RE_MODEL(EDITOR_SOURCE_VALUE_ID_);
alter table ACT_RE_MODEL
    add constraint ACT_FK_MODEL_SOURCE
        foreign key (EDITOR_SOURCE_VALUE_ID_)
            references ACT_GE_BYTEARRAY (ID_);

create index ACT_IDX_MODEL_SOURCE_EXTRA on ACT_RE_MODEL(EDITOR_SOURCE_EXTRA_VALUE_ID_);
alter table ACT_RE_MODEL
    add constraint ACT_FK_MODEL_SOURCE_EXTRA
        foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_)
            references ACT_GE_BYTEARRAY (ID_);

create index ACT_IDX_MODEL_DEPLOYMENT on ACT_RE_MODEL(DEPLOYMENT_ID_);
alter table ACT_RE_MODEL
    add constraint ACT_FK_MODEL_DEPLOYMENT
        foreign key (DEPLOYMENT_ID_)
            references ACT_RE_DEPLOYMENT (ID_);

create index ACT_IDX_PROCDEF_INFO_JSON on ACT_PROCDEF_INFO(INFO_JSON_ID_);
alter table ACT_PROCDEF_INFO
    add constraint ACT_FK_INFO_JSON_BA
        foreign key (INFO_JSON_ID_)
            references ACT_GE_BYTEARRAY (ID_);

create index ACT_IDX_PROCDEF_INFO_PROC on ACT_PROCDEF_INFO(PROC_DEF_ID_);
alter table ACT_PROCDEF_INFO
    add constraint ACT_FK_INFO_PROCDEF
        foreign key (PROC_DEF_ID_)
            references ACT_RE_PROCDEF (ID_);

alter table ACT_PROCDEF_INFO
    add constraint ACT_UNIQ_INFO_PROCDEF
        unique (PROC_DEF_ID_);
#5.1.2 创建 activiti.dm.create.history.sql 将下面sql 粘贴进去
create table ACT_HI_PROCINST (
                                 ID_ NVARCHAR2(64) not null,
                                 PROC_INST_ID_ NVARCHAR2(64) not null,
                                 BUSINESS_KEY_ NVARCHAR2(255),
                                 PROC_DEF_ID_ NVARCHAR2(64) not null,
                                 START_TIME_ TIMESTAMP(6) not null,
                                 END_TIME_ TIMESTAMP(6),
                                 DURATION_ NUMBER(19,0),
                                 START_USER_ID_ NVARCHAR2(255),
                                 START_ACT_ID_ NVARCHAR2(255),
                                 END_ACT_ID_ NVARCHAR2(255),
                                 SUPER_PROCESS_INSTANCE_ID_ NVARCHAR2(64),
                                 DELETE_REASON_ NVARCHAR2(2000),
                                 TENANT_ID_ NVARCHAR2(255) default '',
                                 NAME_ NVARCHAR2(255),
                                 primary key (ID_),
                                 unique (PROC_INST_ID_)
);

create table ACT_HI_ACTINST (
                                ID_ NVARCHAR2(64) not null,
                                PROC_DEF_ID_ NVARCHAR2(64) not null,
                                PROC_INST_ID_ NVARCHAR2(64) not null,
                                EXECUTION_ID_ NVARCHAR2(64) not null,
                                ACT_ID_ NVARCHAR2(255) not null,
                                TASK_ID_ NVARCHAR2(64),
                                CALL_PROC_INST_ID_ NVARCHAR2(64),
                                ACT_NAME_ NVARCHAR2(255),
                                ACT_TYPE_ NVARCHAR2(255) not null,
                                ASSIGNEE_ NVARCHAR2(255),
                                START_TIME_ TIMESTAMP(6) not null,
                                END_TIME_ TIMESTAMP(6),
                                DURATION_ NUMBER(19,0),
                                DELETE_REASON_ NVARCHAR2(2000),
                                TENANT_ID_ NVARCHAR2(255) default '',
                                primary key (ID_)
);

create table ACT_HI_TASKINST (
                                 ID_ NVARCHAR2(64) not null,
                                 PROC_DEF_ID_ NVARCHAR2(64),
                                 TASK_DEF_KEY_ NVARCHAR2(255),
                                 PROC_INST_ID_ NVARCHAR2(64),
                                 EXECUTION_ID_ NVARCHAR2(64),
                                 PARENT_TASK_ID_ NVARCHAR2(64),
                                 NAME_ NVARCHAR2(255),
                                 DESCRIPTION_ NVARCHAR2(2000),
                                 OWNER_ NVARCHAR2(255),
                                 ASSIGNEE_ NVARCHAR2(255),
                                 START_TIME_ TIMESTAMP(6) not null,
                                 CLAIM_TIME_ TIMESTAMP(6),
                                 END_TIME_ TIMESTAMP(6),
                                 DURATION_ NUMBER(19,0),
                                 DELETE_REASON_ NVARCHAR2(2000),
                                 PRIORITY_ INTEGER,
                                 DUE_DATE_ TIMESTAMP(6),
                                 FORM_KEY_ NVARCHAR2(255),
                                 CATEGORY_ NVARCHAR2(255),
                                 TENANT_ID_ NVARCHAR2(255) default '',
                                 primary key (ID_)
);

create table ACT_HI_VARINST (
                                ID_ NVARCHAR2(64) not null,
                                PROC_INST_ID_ NVARCHAR2(64),
                                EXECUTION_ID_ NVARCHAR2(64),
                                TASK_ID_ NVARCHAR2(64),
                                NAME_ NVARCHAR2(255) not null,
                                VAR_TYPE_ NVARCHAR2(100),
                                REV_ INTEGER,
                                BYTEARRAY_ID_ NVARCHAR2(64),
                                DOUBLE_ NUMBER(*,10),
                                LONG_ NUMBER(19,0),
                                TEXT_ NVARCHAR2(2000),
                                TEXT2_ NVARCHAR2(2000),
                                CREATE_TIME_ TIMESTAMP(6),
                                LAST_UPDATED_TIME_ TIMESTAMP(6),
                                primary key (ID_)
);

create table ACT_HI_DETAIL (
                               ID_ NVARCHAR2(64) not null,
                               TYPE_ NVARCHAR2(255) not null,
                               PROC_INST_ID_ NVARCHAR2(64),
                               EXECUTION_ID_ NVARCHAR2(64),
                               TASK_ID_ NVARCHAR2(64),
                               ACT_INST_ID_ NVARCHAR2(64),
                               NAME_ NVARCHAR2(255) not null,
                               VAR_TYPE_ NVARCHAR2(64),
                               REV_ INTEGER,
                               TIME_ TIMESTAMP(6) not null,
                               BYTEARRAY_ID_ NVARCHAR2(64),
                               DOUBLE_ NUMBER(*,10),
                               LONG_ NUMBER(19,0),
                               TEXT_ NVARCHAR2(2000),
                               TEXT2_ NVARCHAR2(2000),
                               primary key (ID_)
);

create table ACT_HI_COMMENT (
                                ID_ NVARCHAR2(64) not null,
                                TYPE_ NVARCHAR2(255),
                                TIME_ TIMESTAMP(6) not null,
                                USER_ID_ NVARCHAR2(255),
                                TASK_ID_ NVARCHAR2(64),
                                PROC_INST_ID_ NVARCHAR2(64),
                                ACTION_ NVARCHAR2(255),
                                MESSAGE_ NVARCHAR2(2000),
                                FULL_MSG_ BLOB,
                                primary key (ID_)
);

create table ACT_HI_ATTACHMENT (
                                   ID_ NVARCHAR2(64) not null,
                                   REV_ INTEGER,
                                   USER_ID_ NVARCHAR2(255),
                                   NAME_ NVARCHAR2(255),
                                   DESCRIPTION_ NVARCHAR2(2000),
                                   TYPE_ NVARCHAR2(255),
                                   TASK_ID_ NVARCHAR2(64),
                                   PROC_INST_ID_ NVARCHAR2(64),
                                   URL_ NVARCHAR2(2000),
                                   CONTENT_ID_ NVARCHAR2(64),
                                   TIME_ TIMESTAMP(6),
                                   primary key (ID_)
);

create table ACT_HI_IDENTITYLINK (
                                     ID_ NVARCHAR2(64),
                                     GROUP_ID_ NVARCHAR2(255),
                                     TYPE_ NVARCHAR2(255),
                                     USER_ID_ NVARCHAR2(255),
                                     TASK_ID_ NVARCHAR2(64),
                                     PROC_INST_ID_ NVARCHAR2(64),
                                     primary key (ID_)
);

create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
create index ACT_IDX_HI_PROCVAR_TASK_ID on ACT_HI_VARINST(TASK_ID_);
create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);

create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);
create index ACT_IDX_HI_TASK_INST_PROCINST on ACT_HI_TASKINST(PROC_INST_ID_);

#5.2 在 org\activiti\db\drop 创建响应的文件

#5.2 创建 activiti.dm.drop.engine.sql
drop index ACT_IDX_BYTEAR_DEPL;
drop index ACT_IDX_EXE_PROCINST;
drop index ACT_IDX_EXE_PARENT;
drop index ACT_IDX_EXE_SUPER;
drop index ACT_IDX_TSKASS_TASK;
drop index ACT_IDX_TASK_EXEC;
drop index ACT_IDX_TASK_PROCINST;
drop index ACT_IDX_TASK_PROCDEF;
drop index ACT_IDX_VAR_EXE;
drop index ACT_IDX_VAR_PROCINST;
drop index ACT_IDX_VAR_BYTEARRAY;
drop index ACT_IDX_JOB_EXECUTION_ID;
drop index ACT_IDX_JOB_PROC_INST_ID;
drop index ACT_IDX_JOB_PROC_DEF_ID;
drop index ACT_IDX_JOB_EXCEPTION;
drop index ACT_IDX_TJOB_EXECUTION_ID;
drop index ACT_IDX_TJOB_PROC_INST_ID;
drop index ACT_IDX_TJOB_PROC_DEF_ID;
drop index ACT_IDX_TJOB_EXCEPTION;
drop index ACT_IDX_SJOB_EXECUTION_ID;
drop index ACT_IDX_SJOB_PROC_INST_ID;
drop index ACT_IDX_SJOB_PROC_DEF_ID;
drop index ACT_IDX_SJOB_EXCEPTION;
drop index ACT_IDX_DJOB_EXECUTION_ID;
drop index ACT_IDX_DJOB_PROC_INST_ID;
drop index ACT_IDX_DJOB_PROC_DEF_ID;
drop index ACT_IDX_DJOB_EXCEPTION;
drop index ACT_IDX_MODEL_SOURCE;
drop index ACT_IDX_MODEL_SOURCE_EXTRA;
drop index ACT_IDX_MODEL_DEPLOYMENT;
drop index ACT_IDX_PROCDEF_INFO_JSON;

drop index ACT_IDX_EXEC_BUSKEY;
drop index ACT_IDX_TASK_CREATE;
drop index ACT_IDX_IDENT_LNK_USER;
drop index ACT_IDX_IDENT_LNK_GROUP;
drop index ACT_IDX_VARIABLE_TASK_ID;

alter table ACT_GE_BYTEARRAY
drop CONSTRAINT ACT_FK_BYTEARR_DEPL;

alter table ACT_RU_EXECUTION
drop CONSTRAINT ACT_FK_EXE_PROCINST;

alter table ACT_RU_EXECUTION
drop CONSTRAINT ACT_FK_EXE_PARENT;

alter table ACT_RU_EXECUTION
drop CONSTRAINT ACT_FK_EXE_SUPER;

alter table ACT_RU_EXECUTION
drop CONSTRAINT ACT_FK_EXE_PROCDEF;

alter table ACT_RU_IDENTITYLINK
drop CONSTRAINT ACT_FK_TSKASS_TASK;

alter table ACT_RU_IDENTITYLINK
drop CONSTRAINT ACT_FK_ATHRZ_PROCEDEF;

alter table ACT_RU_TASK
drop CONSTRAINT ACT_FK_TASK_EXE;

alter table ACT_RU_TASK
drop CONSTRAINT ACT_FK_TASK_PROCINST;

alter table ACT_RU_TASK
drop CONSTRAINT ACT_FK_TASK_PROCDEF;

alter table ACT_RU_VARIABLE
drop CONSTRAINT ACT_FK_VAR_EXE;

alter table ACT_RU_VARIABLE
drop CONSTRAINT ACT_FK_VAR_PROCINST;

alter table ACT_RU_VARIABLE
drop CONSTRAINT ACT_FK_VAR_BYTEARRAY;

alter table ACT_RU_JOB
drop CONSTRAINT ACT_FK_JOB_EXECUTION;

alter table ACT_RU_JOB
drop CONSTRAINT ACT_FK_JOB_PROCESS_INSTANCE;

alter table ACT_RU_JOB
drop CONSTRAINT ACT_FK_JOB_PROC_DEF;

alter table ACT_RU_JOB
drop CONSTRAINT ACT_FK_JOB_EXCEPTION;

alter table ACT_RU_TIMER_JOB
drop CONSTRAINT ACT_FK_TJOB_EXECUTION;

alter table ACT_RU_TIMER_JOB
drop CONSTRAINT ACT_FK_TJOB_PROCESS_INSTANCE;

alter table ACT_RU_TIMER_JOB
drop CONSTRAINT ACT_FK_TJOB_PROC_DEF;

alter table ACT_RU_TIMER_JOB
drop CONSTRAINT ACT_FK_TJOB_EXCEPTION;

alter table ACT_RU_SUSPENDED_JOB
drop CONSTRAINT ACT_FK_SJOB_EXECUTION;

alter table ACT_RU_SUSPENDED_JOB
drop CONSTRAINT ACT_FK_SJOB_PROCESS_INSTANCE;

alter table ACT_RU_SUSPENDED_JOB
drop CONSTRAINT ACT_FK_SJOB_PROC_DEF;

alter table ACT_RU_SUSPENDED_JOB
drop CONSTRAINT ACT_FK_SJOB_EXCEPTION;

alter table ACT_RU_DEADLETTER_JOB
drop CONSTRAINT ACT_FK_DJOB_EXECUTION;

alter table ACT_RU_DEADLETTER_JOB
drop CONSTRAINT ACT_FK_DJOB_PROCESS_INSTANCE;

alter table ACT_RU_DEADLETTER_JOB
drop CONSTRAINT ACT_FK_DJOB_PROC_DEF;

alter table ACT_RU_DEADLETTER_JOB
drop CONSTRAINT ACT_FK_DJOB_EXCEPTION;

alter table ACT_RU_EVENT_SUBSCR
drop CONSTRAINT ACT_FK_EVENT_EXEC;

alter table ACT_RE_PROCDEF
drop CONSTRAINT ACT_UNIQ_PROCDEF;

alter table ACT_RE_MODEL
drop CONSTRAINT ACT_FK_MODEL_SOURCE;

alter table ACT_RE_MODEL
drop CONSTRAINT ACT_FK_MODEL_SOURCE_EXTRA;

alter table ACT_RE_MODEL
drop CONSTRAINT ACT_FK_MODEL_DEPLOYMENT;

alter table ACT_PROCDEF_INFO
drop CONSTRAINT ACT_UNIQ_INFO_PROCDEF;

alter table ACT_PROCDEF_INFO
drop CONSTRAINT ACT_FK_INFO_JSON_BA;

alter table ACT_PROCDEF_INFO
drop CONSTRAINT ACT_FK_INFO_PROCDEF;

drop index ACT_IDX_EVENT_SUBSCR_CONFIG_;
drop index ACT_IDX_EVENT_SUBSCR;
drop index ACT_IDX_ATHRZ_PROCEDEF;
drop index ACT_IDX_PROCDEF_INFO_PROC;

drop table ACT_GE_PROPERTY;
drop table ACT_GE_BYTEARRAY;
drop table ACT_RE_DEPLOYMENT;
drop table ACT_RE_MODEL;
drop table ACT_RE_PROCDEF;
drop table ACT_RU_IDENTITYLINK;
drop table ACT_RU_VARIABLE;
drop table ACT_RU_TASK;
drop table ACT_RU_EXECUTION;
drop table ACT_RU_JOB;
drop table ACT_RU_TIMER_JOB;
drop table ACT_RU_SUSPENDED_JOB;
drop table ACT_RU_DEADLETTER_JOB;
drop table ACT_RU_EVENT_SUBSCR;

drop sequence act_evt_log_seq;
drop table ACT_EVT_LOG;
drop table ACT_PROCDEF_INFO;
#5.2 创建 activiti.dm.drop.history.sql
drop index ACT_IDX_HI_PRO_INST_END;
drop index ACT_IDX_HI_PRO_I_BUSKEY;
drop index ACT_IDX_HI_ACT_INST_START;
drop index ACT_IDX_HI_ACT_INST_END;
drop index ACT_IDX_HI_DETAIL_PROC_INST;
drop index ACT_IDX_HI_DETAIL_ACT_INST;
drop index ACT_IDX_HI_DETAIL_TIME;
drop index ACT_IDX_HI_DETAIL_NAME;
drop index ACT_IDX_HI_DETAIL_TASK_ID;
drop index ACT_IDX_HI_PROCVAR_PROC_INST;
drop index ACT_IDX_HI_PROCVAR_NAME_TYPE;
drop index ACT_IDX_HI_ACT_INST_PROCINST;
drop index ACT_IDX_HI_IDENT_LNK_USER;
drop index ACT_IDX_HI_IDENT_LNK_TASK;
drop index ACT_IDX_HI_IDENT_LNK_PROCINST;
drop index ACT_IDX_HI_TASK_INST_PROCINST;

drop table ACT_HI_PROCINST;
drop table ACT_HI_ACTINST;
drop table ACT_HI_VARINST;
drop table ACT_HI_TASKINST;
drop table ACT_HI_DETAIL;
drop table ACT_HI_COMMENT;
drop table ACT_HI_ATTACHMENT;
drop table ACT_HI_IDENTITYLINK;
6 然后重新编译项目 将修改的文件和新增的文件都复制到 jar 对应的目录

在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐