<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.1.xsd">

    <changeSet id="01-create-process-definitions-table" author="nebojsha.davidovikj" dbms="oracle,postgresql,mssql">
        <createTable tableName="acm_process_definition">
            <column name="cm_pd_id" type="${idType}">
                <constraints primaryKey="true" primaryKeyName="pk_process_definition"/>
            </column>
            <column name="cm_pd_description" type="VARCHAR(1024)">
                <constraints nullable="true"/>
            </column>
            <column name="cm_pd_name" type="VARCHAR(1024)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_version" type="NUMBER(16,0)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_key" type="VARCHAR(1024)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_deployment_id" type="VARCHAR(1024)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_file_name" type="VARCHAR(1024)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_is_active" type="BOOLEAN" defaultValue="false">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_md5_hex" type="VARCHAR(32)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_created" type="${timestampType}">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_creator" type="VARCHAR(1024)">
                <constraints nullable="true"/>
            </column>
            <column name="cm_pd_modified" type="${timestampType}">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_modifier" type="VARCHAR(1024)">
                <constraints nullable="true"/>
            </column>
        </createTable>
    </changeSet>
    <changeSet id="01-create-process-definitions-table" author="nebojsha.davidovikj" dbms="mysql">
        <createTable tableName="acm_process_definition">
            <column name="cm_pd_id" type="${idType}">
                <constraints primaryKey="true" primaryKeyName="pk_process_definition"/>
            </column>
            <column name="cm_pd_description" type="VARCHAR(1024)">
                <constraints nullable="true"/>
            </column>
            <column name="cm_pd_name" type="VARCHAR(1024)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_version" type="NUMBER(16,0)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_key" type="VARCHAR(1024)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_deployment_id" type="VARCHAR(1024)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_file_name" type="VARCHAR(1024)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_is_active" type="BOOLEAN" defaultValue="false">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_md5_hex" type="VARCHAR(32)">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_created" type="${timestampType}" defaultValueComputed="${timestampFunction}">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_creator" type="VARCHAR(1024)">
                <constraints nullable="true"/>
            </column>
            <column name="cm_pd_modified" type="${timestampType}" defaultValueComputed="${timestampFunction}">
                <constraints nullable="false"/>
            </column>
            <column name="cm_pd_modifier" type="VARCHAR(1024)">
                <constraints nullable="true"/>
            </column>
        </createTable>
    </changeSet>
    <changeSet id="01-create-process-definitions-table-id" author="nebojsha.davidovikj">
        <createTable tableName="acm_process_definition_id">
            <column name="cm_seq_num" type="${idType}"/>
            <column name="cm_seq_name" type="VARCHAR(255)"/>
        </createTable>
        <insert tableName="acm_process_definition_id">
            <column name="cm_seq_num" value="100"></column>
            <column name="cm_seq_name" value="acm_process_definition"></column>
        </insert>
    </changeSet>
    <changeSet id="02-change-columnName-cm_pd_md5_hex" author="jivanovski">
        <renameColumn tableName="acm_process_definition" oldColumnName="cm_pd_md5_hex" newColumnName="cm_pd_sha256_hex"
            columnDataType="VARCHAR(32)"/>
    </changeSet>
    <changeSet id="03-widen-cm_pd_md5_hex" author="jivanovski">
        <modifyDataType tableName="acm_process_definition" columnName="cm_pd_sha256_hex" newDataType="VARCHAR(256)"/>
    </changeSet>
    <changeSet id="04-change_cm_pd_modified" author="mario.gjurcheski" dbms="mysql">
        <modifyDataType tableName="acm_process_definition" columnName="cm_pd_modified" newDataType="DATETIME"/>
        <modifyDataType tableName="acm_process_definition" columnName="cm_pd_created" newDataType="DATETIME"/>
    </changeSet>

</databaseChangeLog>

