Activity 7.0.0.Beta2 支持达梦8数据库

本来想着去拉 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 包。

Activity 7.0.0.Beta2 支持达梦8数据库_第1张图片
右击jar 包,点击 Explorer 就能找到jar 响应的位置
Activity 7.0.0.Beta2 支持达梦8数据库_第2张图片
Activity 7.0.0.Beta2 支持达梦8数据库_第3张图片
解压 activiti-engine-7.0.0.Beta2-sources.jar 得到 源文件
Activity 7.0.0.Beta2 支持达梦8数据库_第4张图片

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

3. 随便新建一个 maven 项目 将刚刚解压的 两个文件中 org 目录复制到 maven 项目里面Activity 7.0.0.Beta2 支持达梦8数据库_第5张图片

接着编译项目Activity 7.0.0.Beta2 支持达梦8数据库_第6张图片
如果遇到找不到 javax.xxx.xxx 就在项目下面新建 lib 目录然后引用这几个jar 包,Activity 7.0.0.Beta2 支持达梦8数据库_第7张图片
点击java
Activity 7.0.0.Beta2 支持达梦8数据库_第8张图片
全选jar 然后点击ok
Activity 7.0.0.Beta2 支持达梦8数据库_第9张图片
直到项目编译通过

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 对应的目录

Activity 7.0.0.Beta2 支持达梦8数据库_第10张图片

你可能感兴趣的:(java,activiti,数据库,java,jar)