All Downloads are FREE. Search and download functionalities are using the official Maven repository.

sql.ca-init.xml Maven / Gradle / Ivy

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- 
 Maximal column size: 4k
  - DB2: PAGESIZE 4 k
-->
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.4.xsd"
  logicalFilePath="ca-init.xml">
  <property name="x500name.type" value="VARCHAR(350)"/>
  <!-- 100 MB for DB2 -->
  <property name="crl.data.type" value="CLOB(104857600)" dbms="db2"/>
  <property name="crl.data.type" value="CLOB" dbms="oracle,postgresql,mysql,mariadb,h2,hsqldb"/>
  <!-- CA configuration :: create table -->
  <changeSet author="xipki" id="1">
    <!-- table DBSCHEMAINFO -->
    <createTable tableName="DBSCHEMA"
        remarks="database schema information">
      <column name="NAME" type="VARCHAR(45)">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="VALUE2" type="VARCHAR(100)">
        <constraints nullable="false"/>
      </column>
    </createTable>
    <insert tableName="DBSCHEMA">
      <column name="NAME" value="VERSION"/>
      <column name="VALUE2" value="3"/>
    </insert>
    <insert tableName="DBSCHEMA">
      <column name="NAME" value="X500NAME_MAXLEN"/>
      <!-- must be the length of x500name.type -->
      <column name="VALUE2" value="350"/>
    </insert>
    <!-- table CALOCK -->
    <createTable tableName="SYSTEM_EVENT">
      <column name="NAME" type="VARCHAR(45)">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="EVENT_TIME" type="BIGINT"
          remarks="seconds since January 1, 1970, 00:00:00 GMT">
        <constraints nullable="false"/>
      </column>
      <column name="EVENT_TIME2" type="TIMESTAMP"/>
      <column name="EVENT_OWNER" type="VARCHAR(255)">
        <constraints nullable="false"/>
      </column>
    </createTable>
    <!-- table CMPCONTROL -->
    <createTable tableName="CMPCONTROL">
      <column name="NAME" type="VARCHAR(45)">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="CONF" type="VARCHAR(1000)">
        <constraints nullable="false"/>
      </column>
    </createTable>
    <!-- table RESPONDER -->
    <createTable tableName="RESPONDER">
      <column name="NAME" type="VARCHAR(45)">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="TYPE" type="VARCHAR(100)">
        <constraints nullable="false"/>
      </column>
      <column name="CERT" type="VARCHAR(4000)"/>
      <column name="CONF" type="CLOB"/>
    </createTable>
    <!-- table SCEP -->
    <createTable tableName="SCEP">
      <column name="NAME" type="VARCHAR(45)">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="ACTIVE" type="SMALLINT" remarks="whether the SCEP is activated">
        <constraints nullable="false"/>
      </column>
      <column name="CA_ID" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
      <column name="PROFILES" type="VARCHAR(200)"/>
      <!-- CONTROL is reserved for future, will currently not be used -->
      <column name="CONTROL" type="VARCHAR(400)"/>
      <column name="RESPONDER_TYPE" type="VARCHAR(100)">
        <constraints nullable="false"/>
      </column>
      <column name="RESPONDER_CERT" type="VARCHAR(4000)"/>
      <column name="RESPONDER_CONF" type="CLOB"/>
    </createTable>
    <!-- table ENVIRONMENT -->
    <createTable tableName="ENVIRONMENT">
      <column name="NAME" type="VARCHAR(45)">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="VALUE2" type="VARCHAR(200)"/>
    </createTable>
    <!-- table CRLSIGNER -->
    <createTable tableName="CRLSIGNER">
      <column name="NAME" type="VARCHAR(45)">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="SIGNER_TYPE" type="VARCHAR(100)">
        <constraints nullable="false"/>
      </column>
      <column name="SIGNER_CERT" type="VARCHAR(4000)"/>
      <column name="CRL_CONTROL" type="VARCHAR(1000)"/>
      <column name="SIGNER_CONF" type="CLOB"/>
    </createTable>
    <!-- table REQUESTOR -->
    <createTable tableName="REQUESTOR">
      <column name="ID" type="SMALLINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="NAME" type="VARCHAR(45)" remarks="duplication is not permitted"/>
      <column name="CERT" type="VARCHAR(4000)"/>
    </createTable>
    <addUniqueConstraint tableName="REQUESTOR" columnNames="NAME" constraintName="CONST_REQUESTOR_NAME"/>
    <!-- table PUBLISHER -->
    <createTable tableName="PUBLISHER">
      <column name="ID" type="SMALLINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="NAME" type="VARCHAR(45)" remarks="duplication is not permitted"/>
      <column name="TYPE" type="VARCHAR(100)">
        <constraints nullable="false"/>
      </column>
      <column name="CONF" type="CLOB"/>
    </createTable>
    <addUniqueConstraint tableName="PUBLISHER" columnNames="NAME" constraintName="CONST_PUBLISHER_NAME"/>
    <!-- table "PROFILE" -->
    <createTable tableName="PROFILE">
      <column name="ID" type="SMALLINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="NAME" type="VARCHAR(45)" remarks="duplication is not permitted"/>
      <column name="ART" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
      <column name="TYPE" type="VARCHAR(100)">
        <constraints nullable="false"/>
      </column>
      <column name="CONF" type="CLOB" remarks="profile data, depends on the type"/>
    </createTable>
    <addUniqueConstraint tableName="PROFILE" columnNames="NAME" constraintName="CONST_PROFILE_NAME"/>
    <!-- table CA -->
    <createTable tableName="CA">
      <column name="ID" type="SMALLINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="NAME" type="VARCHAR(45)" remarks="duplication is not permitted"/>
      <column name="ART" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
      <column name="SN_SIZE" type="SMALLINT"
          remarks="number of octets of the serial number"/>
      <column name="NEXT_CRLNO" type="BIGINT"/>
      <column name="STATUS" type="VARCHAR(10)"
          remarks="valid values: active, inactive">
        <constraints nullable="false"/>
      </column>
      <column name="SUBJECT" type="${x500name.type}">
        <constraints nullable="false"/>
      </column>
      <column name="CRL_URIS" type="VARCHAR(500)"/>
      <column name="DELTACRL_URIS" type="VARCHAR(500)"/>
      <column name="OCSP_URIS" type="VARCHAR(500)"/>
      <column name="CACERT_URIS" type="VARCHAR(500)"/>
      <column name="MAX_VALIDITY" type="VARCHAR(45)">
        <constraints nullable="false"/>
      </column>
      <column name="CRLSIGNER_NAME" type="VARCHAR(45)"/>
      <column name="CMPCONTROL_NAME" type="VARCHAR(45)">
        <constraints nullable="false"/>
      </column>
      <column name="RESPONDER_NAME" type="VARCHAR(45)"/>
      <column defaultValueNumeric="1" name="DUPLICATE_KEY" type="SMALLINT"
          remarks="whether duplicate public key is allowed, default is true (1)">
        <constraints nullable="false"/>
      </column>
      <column defaultValueNumeric="1" name="DUPLICATE_SUBJECT" type="SMALLINT"
          remarks="whether duplicate subject key is allowed, default is true (1)">
        <constraints nullable="false"/>
      </column>
      <column name="SAVE_REQ" type="SMALLINT" defaultValueNumeric="0"
          remarks="Whether requests should be saved, default is false (0)">
        <constraints nullable="false"/>
      </column>
      <column name="VALIDITY_MODE" type="varchar(100)"/>
      <column name="PERMISSION" type="INT">
        <constraints nullable="false"/>
      </column>
      <column name="NUM_CRLS" type="SMALLINT" defaultValueNumeric="30">
        <constraints nullable="false"/>
      </column>
      <column name="EXPIRATION_PERIOD" type="SMALLINT" defaultValueNumeric="365" />
      <column name="REV" type="SMALLINT" defaultValueNumeric="0" 
          remarks="whether the certificate is revoked">
        <constraints nullable="false"/>
      </column>
      <column name="RR" type="SMALLINT"
          remarks="revocation reason"/>
      <column name="RT"  type="BIGINT"
          remarks="revocation time, seconds since January 1, 1970, 00:00:00 GMT"/>
      <column name="RIT" type="BIGINT"
          remarks="revocation invalidity time, seconds since January 1, 1970, 00:00:00 GMT"/>
      <column name="SIGNER_TYPE" type="VARCHAR(100)">
        <constraints nullable="false"/>
      </column>
      <column name="KEEP_EXPIRED_CERT_DAYS" type="SMALLINT" defaultValueNumeric="-1" 
          remarks="How long in days should certificates after the expiration be kept. Negative value for kept-for-ever"/>
      <column name="EXTRA_CONTROL" type="VARCHAR(500)"/>
      <column name="CERT" type="VARCHAR(4000)">
        <constraints nullable="false"/>
      </column>
      <column name="SIGNER_CONF" type="CLOB">
        <constraints nullable="false"/>
      </column>
    </createTable>
    <addUniqueConstraint tableName="CA" columnNames="NAME" constraintName="CONST_CA_NAME"/>
    <!-- table CAALIAS -->
    <createTable tableName="CAALIAS">
      <column name="NAME" type="VARCHAR(45)">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="CA_ID" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
    </createTable>
    <!-- table CA_HAS_REQUESTOR -->
    <createTable tableName="CA_HAS_REQUESTOR">
      <column name="CA_ID" type="SMALLINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="REQUESTOR_ID" type="SMALLINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="RA" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
      <column name="PERMISSION" type="INT"/>
      <column name="PROFILES" type="VARCHAR(200)"/>
    </createTable>
    <!-- table CA_HAS_PUBLISHER -->
    <createTable tableName="CA_HAS_PUBLISHER">
      <column name="CA_ID" type="SMALLINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="PUBLISHER_ID" type="SMALLINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
    </createTable>
    <!-- table CA_HAS_PROFILE -->
    <createTable tableName="CA_HAS_PROFILE"><column name="PROFILES" type="VARCHAR(200)"/>
      <column name="CA_ID" type="SMALLINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="PROFILE_ID" type="SMALLINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
    </createTable>
  </changeSet>
  <!-- CertStore :: create table -->
  <changeSet author="xipki" id="2">
    <!-- table TUSER -->
    <createTable tableName="TUSER">
      <column name="ID" type="INT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="NAME" type="VARCHAR(100)">
        <constraints nullable="false"/>
      </column>
      <column name="ACTIVE" type="SMALLINT" remarks="whether the user is activated">
        <constraints nullable="false"/>
      </column>
      <column name="PASSWORD" type="VARCHAR(150)" remarks="salted hashed password in hex">
        <constraints nullable="false"/>
        <!-- byte 1: identifies hash algorithm,
             byte 2: identifies length of salt,
             byte 3 and 4: specifies the iteration,
             further bytes: salt and hash value-->
      </column>
    </createTable>
    <addUniqueConstraint tableName="TUSER" columnNames="NAME" constraintName="CONST_USER_NAME"/>
    <!-- table CA_HAS_USER -->
    <createTable tableName="CA_HAS_USER">
      <column name="ID" type="BIGINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="CA_ID" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
      <column name="USER_ID" type="INT">
        <constraints nullable="false"/>
      </column>
      <column name="PERMISSION" type="INT"/>
      <column name="PROFILES" type="VARCHAR(200)"/>
    </createTable>
    <addUniqueConstraint tableName="CA_HAS_USER" columnNames="CA_ID, USER_ID"
        constraintName="CONST_CA_USER"/>
    <!-- table CRL -->
    <createTable tableName="CRL">
      <column name="ID" type="INT">
        <constraints primaryKey="true"/>
      </column>
      <column name="CA_ID" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
      <column name="CRL_NO" type="BIGINT">
        <constraints nullable="false"/>
      </column>
      <column name="THISUPDATE" type="BIGINT">
        <constraints nullable="false"/>
      </column>
      <column name="NEXTUPDATE" type="BIGINT"/>
      <column name="DELTACRL" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
      <column name="BASECRL_NO" type="BIGINT"/>
      <column name="CRL" type="${crl.data.type}">
        <constraints nullable="false"/>
      </column>
    </createTable>
    <addUniqueConstraint tableName="CRL" columnNames="CA_ID, CRL_NO" constraintName="CONST_CA_CRLNO"/>
    <!-- table CERT -->
    <createTable tableName="CERT">
      <column name="ID" type="BIGINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="ART" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
      <column name="CA_ID" type="SMALLINT"
          remarks="Issuer (CA) id">
        <constraints nullable="false"/>
      </column>
      <column name="SN" type="VARCHAR(40)"
          remarks="serial number">
        <constraints nullable="false"/>
      </column>
      <column name="PID" type="SMALLINT"
          remarks="certificate profile id">
        <constraints nullable="false"/>
      </column>
      <column name="RID" type="SMALLINT"
          remarks="requestor id"/>
      <column name="FP_S" type="BIGINT"
          remarks="first 8 bytes of the SHA1 sum of the subject">
        <constraints nullable="false"/>
      </column>
      <column name="FP_RS" type="BIGINT"
          remarks="first 8 bytes of the SHA1 sum of the requested subject"/>
      <column name="FP_K" type="BIGINT"
          remarks="first 8 bytes of the SHA1 sum of the public key">
        <constraints nullable="false"/>
      </column>
      <column name="LUPDATE" type="BIGINT"
          remarks="last update, seconds since January 1, 1970, 00:00:00 GMT">
        <constraints nullable="false"/>
      </column>
      <column name="NBEFORE" type="BIGINT"
          remarks="notBefore, seconds since January 1, 1970, 00:00:00 GMT">
        <constraints nullable="false"/>
      </column>
      <column name="NAFTER" type="BIGINT"
          remarks="notAfter, seconds since January 1, 1970, 00:00:00 GMT">
        <constraints nullable="false"/>
      </column>
      <column name="REV" type="SMALLINT"
          remarks="whether the certificate is revoked">
        <constraints nullable="false"/>
      </column>
      <column name="RR" type="SMALLINT"
          remarks="revocation reason"/>
      <column name="RT"  type="BIGINT"
          remarks="revocation time, seconds since January 1, 1970, 00:00:00 GMT"/>
      <column name="RIT" type="BIGINT"
          remarks="revocation invalidity time, seconds since January 1, 1970, 00:00:00 GMT"/>
      <column name="EE" type="SMALLINT"
          remarks="whether it is an end entity cert">
        <constraints nullable="false"/>
      </column>
      <column name="UID" type="INT" remarks="user id"/>
      <column name="RTYPE" type="SMALLINT"
         remarks="request type, 1 for direct via CA command, 2 for CMP, 3 for SCEP">
        <constraints nullable="false"/>
      </column>
      <column name="SUBJECT" type="${x500name.type}">
        <constraints nullable="false"/>
      </column>
      <column name="TID" type="VARCHAR(43)"
          remarks="base64 encoded transactionId, maximal 256 bit"/>
    </createTable>
    <createTable tableName="REQUEST">
      <column name="ID" type="BIGINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="LUPDATE" type="BIGINT"
          remarks="time at which the request is added to database, seconds since January 1, 1970, 00:00:00 GMT">
        <constraints nullable="false"/>
      </column>
      <column name="DATA" type="CLOB"/>
    </createTable>
    <!-- table REQCERT -->
    <createTable tableName="REQCERT">
      <column name="ID" type="BIGINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="RID" type="BIGINT" remarks="request id">
        <constraints nullable="false"/>
      </column>
      <column name="CID" type="BIGINT" remarks="cert id">
        <constraints nullable="false"/>
      </column>
    </createTable>
    <addUniqueConstraint tableName="CERT" columnNames="CA_ID, SN" constraintName="CONST_CA_SN"/>
    <createIndex tableName="CERT" unique="false" indexName="IDX_CA_FPK">
      <column name="CA_ID"/>
      <column name="FP_K"/>
    </createIndex>
    <createIndex tableName="CERT" unique="false" indexName="IDX_CA_FPS">
      <column name="CA_ID"/>
      <column name="FP_S"/>
    </createIndex>
    <createIndex tableName="CERT" unique="false" indexName="IDX_CA_FPRS">
      <column name="CA_ID"/>
      <column name="FP_RS"/>
    </createIndex>
    <!-- table CRAW -->
    <createTable tableName="CRAW">
      <column name="CID" type="BIGINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="SHA1" type="CHAR(28)">
        <constraints nullable="false"/>
      </column>
      <column name="REQ_SUBJECT" type="${x500name.type}"/>
      <column name="CERT" type="VARCHAR(4000)"
          remarks="Base64 encoded certificate">
        <constraints nullable="false"/>
      </column>
    </createTable>
    <!-- table PUBLISHQUEUE -->
    <createTable tableName="PUBLISHQUEUE">
      <column name="CID" type="BIGINT">
        <constraints nullable="false"/>
      </column>
      <column name="PID" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
      <column name="CA_ID" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
    </createTable>
    <!-- table DELTACRL_CACHE -->
    <createTable tableName="DELTACRL_CACHE">
      <column name="ID" type="BIGINT">
        <constraints primaryKey="true" nullable="false"/>
      </column>
      <column name="CA_ID" type="SMALLINT">
        <constraints nullable="false"/>
      </column>
      <column name="SN" type="VARCHAR(40)">
        <constraints nullable="false"/>
      </column>
    </createTable>
  </changeSet>
  <!-- CA Configuration :: foreign key -->
  <changeSet author="xipki" id="3">
    <addForeignKeyConstraint  constraintName="FK_CA_CMPCONTROL1"
      deferrable="false" initiallyDeferred="false"
      onDelete="NO ACTION" onUpdate="NO ACTION"
      baseColumnNames="CMPCONTROL_NAME" baseTableName="CA"
      referencedColumnNames="NAME" referencedTableName="CMPCONTROL"/>
    <addForeignKeyConstraint constraintName="FK_CA_CRLSIGNER1"
      deferrable="false" initiallyDeferred="false"
      onDelete="NO ACTION" onUpdate="NO ACTION"
      baseColumnNames="CRLSIGNER_NAME" baseTableName="CA"
      referencedColumnNames="NAME" referencedTableName="CRLSIGNER"/>
    <addForeignKeyConstraint constraintName="FK_CA_RESPONDER1"
      deferrable="false" initiallyDeferred="false"
      onDelete="NO ACTION" onUpdate="NO ACTION"
      baseColumnNames="RESPONDER_NAME" baseTableName="CA"
      referencedColumnNames="NAME" referencedTableName="RESPONDER"/>
    <addForeignKeyConstraint constraintName="FK_CAALIAS_CA1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="CA_ID" baseTableName="CAALIAS"
      referencedColumnNames="ID" referencedTableName="CA"/>
    <!-- ca_ha_requestor -->
    <addForeignKeyConstraint constraintName="FK_CA_HAS_REQUESTOR_REQUESTOR1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="REQUESTOR_ID" baseTableName="CA_HAS_REQUESTOR"
      referencedColumnNames="ID" referencedTableName="REQUESTOR"/>
    <addForeignKeyConstraint constraintName="FK_CA_HAS_REQUESTOR_CA1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="CA_ID" baseTableName="CA_HAS_REQUESTOR"
      referencedColumnNames="ID" referencedTableName="CA"/>
    <!-- ca_ha_user -->
    <addForeignKeyConstraint constraintName="FK_CA_HAS_USER_USER1"
      deferrable="false" initiallyDeferred="false"
      onDelete="NO ACTION" onUpdate="NO ACTION"
      baseColumnNames="USER_ID" baseTableName="CA_HAS_USER"
      referencedColumnNames="ID" referencedTableName="TUSER"/>
    <addForeignKeyConstraint constraintName="FK_CA_HAS_USER_CA1"
      deferrable="false" initiallyDeferred="false"
      onDelete="NO ACTION" onUpdate="NO ACTION"
      baseColumnNames="CA_ID" baseTableName="CA_HAS_USER"
      referencedColumnNames="ID" referencedTableName="CA"/>
    <!-- ca_has_publisher -->
    <addForeignKeyConstraint constraintName="FK_CA_HAS_PUBLISHER_PUBLISHER1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="PUBLISHER_ID" baseTableName="CA_HAS_PUBLISHER"
      referencedColumnNames="ID" referencedTableName="PUBLISHER"/>
    <addForeignKeyConstraint constraintName="FK_CA_HAS_PUBLISHER_CA1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="CA_ID" baseTableName="CA_HAS_PUBLISHER"
      referencedColumnNames="ID" referencedTableName="CA"/>
    <!-- CA_HAS_PROFILE -->
    <addForeignKeyConstraint constraintName="FK_CA_HAS_PROFILE_PROFILE1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="PROFILE_ID" baseTableName="CA_HAS_PROFILE"
      referencedColumnNames="ID" referencedTableName="PROFILE"/>
    <addForeignKeyConstraint constraintName="FK_CA_HAS_PROFILE_CA1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="CA_ID" baseTableName="CA_HAS_PROFILE"
      referencedColumnNames="ID" referencedTableName="CA"/>
    <!-- SCEP -->
    <addForeignKeyConstraint constraintName="FK_SCEP_CA1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="CA_ID" baseTableName="SCEP"
      referencedColumnNames="ID" referencedTableName="CA"/>
  </changeSet>
  <!-- CertStore :: foreigen key -->
  <changeSet author="xipki" id="4">
    <addForeignKeyConstraint constraintName="FK_CRL_CA1"
      deferrable="false" initiallyDeferred="false"
      onDelete="NO ACTION" onUpdate="NO ACTION"
      baseColumnNames="CA_ID" baseTableName="CRL"
      referencedColumnNames="ID" referencedTableName="CA"/>
    <addForeignKeyConstraint constraintName="FK_CERT_CA1"
      deferrable="false" initiallyDeferred="false"
      onDelete="NO ACTION" onUpdate="NO ACTION"
      baseColumnNames="CA_ID" baseTableName="CERT"
      referencedColumnNames="ID" referencedTableName="CA"/>
     <addForeignKeyConstraint constraintName="FK_CERT_REQUESTOR1"
      deferrable="false" initiallyDeferred="false"
      onDelete="NO ACTION" onUpdate="NO ACTION"
      baseColumnNames="RID" baseTableName="CERT"
      referencedColumnNames="ID" referencedTableName="REQUESTOR"/>
    <addForeignKeyConstraint constraintName="FK_CERT_USER1"
      deferrable="false" initiallyDeferred="false"
      onDelete="NO ACTION" onUpdate="NO ACTION"
      baseColumnNames="UID" baseTableName="CERT"
      referencedColumnNames="ID" referencedTableName="TUSER"/>
    <addForeignKeyConstraint constraintName="FK_CERT_PROFILE1"
      deferrable="false" initiallyDeferred="false"
      onDelete="NO ACTION" onUpdate="NO ACTION"
      baseColumnNames="PID" baseTableName="CERT"
      referencedColumnNames="ID" referencedTableName="PROFILE"/>
    <addForeignKeyConstraint constraintName="FK_CRAW_CERT1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="CID" baseTableName="CRAW"
      referencedColumnNames="ID" referencedTableName="CERT"/>
    <addForeignKeyConstraint constraintName="FK_PUBLISHQUEUE_PUBLISHER1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="PID" baseTableName="PUBLISHQUEUE"
      referencedColumnNames="ID" referencedTableName="PUBLISHER"/>
    <addForeignKeyConstraint constraintName="FK_PUBLISHQUEUE_CERT1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="CID" baseTableName="PUBLISHQUEUE"
      referencedColumnNames="ID" referencedTableName="CERT"/>
    <addForeignKeyConstraint constraintName="FK_REQCERT_REQ1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="RID" baseTableName="REQCERT"
      referencedColumnNames="ID" referencedTableName="REQUEST"/>
    <addForeignKeyConstraint constraintName="FK_REQCERT_CERT1"
      deferrable="false" initiallyDeferred="false"
      onDelete="CASCADE" onUpdate="NO ACTION"
      baseColumnNames="CID" baseTableName="REQCERT"
      referencedColumnNames="ID" referencedTableName="CERT"/>
  </changeSet>
</databaseChangeLog>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy