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

plugincoremodelv2.liquibase.tableDatastreams.xml Maven / Gradle / Ivy

There is a newer version: 2.5.0
Show newest version
<?xml version="1.1" encoding="UTF-8"?>
<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">
    <!--
     Copyright (C) 2024 Fraunhofer Institut IOSB, Fraunhoferstr. 1, D 76131
     Karlsruhe, Germany.

     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU Lesser General Public License as published by
     the Free Software Foundation, either version 3 of the License, or
     (at your option) any later version.

     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU Lesser General Public License for more details.

     You should have received a copy of the GNU Lesser General Public License
     along with this program.  If not, see <http://www.gnu.org/licenses/>.
    -->

    <changeSet author="scf" id="2024-05-05-datastreams-1" objectQuotingStrategy="QUOTE_ALL_OBJECTS">
        <preConditions onFail="MARK_RAN">
            <changeLogPropertyDefined property="id-Datastream" value="LONG" />
            <not>
                <tableExists tableName="datastreams" />
            </not>
        </preConditions>
        <createTable tableName="datastreams">
            <column name="id" type="${idTypeLong}" autoIncrement="true">
                <constraints primaryKey="true" primaryKeyName="pk_datastreams" />
            </column>
        </createTable>
    </changeSet>

    <changeSet author="scf" id="2024-05-05-datastreams-2" objectQuotingStrategy="QUOTE_ALL_OBJECTS">
        <preConditions onFail="MARK_RAN">
            <or>
                <changeLogPropertyDefined property="id-Datastream" value="STRING" />
                <changeLogPropertyDefined property="id-Datastream" value="UUID" />
            </or>
            <not>
                <tableExists tableName="datastreams" />
            </not>
        </preConditions>
        <createTable tableName="datastreams">
            <column name="id" type="${idType-Datastream}" defaultValueComputed="${defaultValueComputed-Datastream}">
                <constraints primaryKey="true" primaryKeyName="pk_datastreams"/>
            </column>
        </createTable>
    </changeSet>

    <changeSet author="scf" id="2024-05-05-datastreams-3" objectQuotingStrategy="QUOTE_ALL_OBJECTS">
        <preConditions onFail="MARK_RAN">
            <not>
                <columnExists columnName="name" tableName="datastreams" />
            </not>
        </preConditions>
        <addColumn tableName="datastreams">
            <column name="sensor_id" type="${idType-Sensor}">
                <constraints nullable="false"/>
            </column>
            <column name="thing_id" type="${idType-Thing}">
                <constraints nullable="false"/>
            </column>
            <column name="feature_id" type="${idType-Feature}"/>
            <column name="name" type="TEXT"/>
            <column name="description" type="TEXT"/>
            <column name="definition" type="TEXT"/>
            <column name="result_type" type="JSONB"/>
            <column name="properties" type="JSONB"/>
            <column name="phenomenon_time_start" type="TIMESTAMP WITH TIME ZONE"/>
            <column name="phenomenon_time_end" type="TIMESTAMP WITH TIME ZONE"/>
            <column name="result_time_start" type="TIMESTAMP WITH TIME ZONE"/>
            <column name="result_time_end" type="TIMESTAMP WITH TIME ZONE"/>
            <column name="observed_area" type="geometry(Geometry,4326)"/>
        </addColumn>
    </changeSet>

    <changeSet author="scf" id="2024-05-05-datastreams-idx-sensor_id" objectQuotingStrategy="QUOTE_ALL_OBJECTS">
        <preConditions onFail="MARK_RAN">
            <not>
                <indexExists tableName="datastreams" indexName="datastreams_sensor_id" />
            </not>
        </preConditions>
        <createIndex tableName="datastreams" indexName="datastreams_sensor_id">
            <column name="sensor_id" />
        </createIndex>
    </changeSet>

    <changeSet author="scf" id="2024-05-05-datastreams-idx-thing_id" objectQuotingStrategy="QUOTE_ALL_OBJECTS">
        <preConditions onFail="MARK_RAN">
            <not>
                <indexExists tableName="datastreams" indexName="datastreams_thing_id" />
            </not>
        </preConditions>
        <createIndex tableName="datastreams" indexName="datastreams_thing_id">
            <column name="thing_id" />
        </createIndex>
    </changeSet>

    <changeSet author="scf" id="2024-05-05-datastreams-idx-feature_id" objectQuotingStrategy="QUOTE_ALL_OBJECTS">
        <preConditions onFail="MARK_RAN">
            <not>
                <indexExists tableName="datastreams" indexName="datastreams_feature_id" />
            </not>
        </preConditions>
        <createIndex tableName="datastreams" indexName="datastreams_feature_id">
            <column name="feature_id" />
        </createIndex>
    </changeSet>

</databaseChangeLog>





© 2015 - 2024 Weber Informatics LLC | Privacy Policy