diff options
author | Anton Tananaev <anton.tananaev@gmail.com> | 2016-07-13 16:10:31 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-13 16:10:31 +1200 |
commit | 6a63cf732a11df1512071e3777e080627b878bc5 (patch) | |
tree | 301fe4b4c8d2ef257b11c61fd9527df4c656e519 | |
parent | f28ac06a2863861c1ba11f8c06eff680c3bf8381 (diff) | |
parent | f96d6a68af0b82f331f187cfd5506e603742e37f (diff) | |
download | traccar-server-6a63cf732a11df1512071e3777e080627b878bc5.tar.gz traccar-server-6a63cf732a11df1512071e3777e080627b878bc5.tar.bz2 traccar-server-6a63cf732a11df1512071e3777e080627b878bc5.zip |
Merge pull request #2103 from Abyss777/master
Add constraints for groupIds
-rw-r--r-- | schema/changelog-3.7.xml | 35 | ||||
-rw-r--r-- | schema/changelog-master.xml | 1 |
2 files changed, 36 insertions, 0 deletions
diff --git a/schema/changelog-3.7.xml b/schema/changelog-3.7.xml new file mode 100644 index 000000000..5e836a99c --- /dev/null +++ b/schema/changelog-3.7.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" 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.4.xsd" + logicalFilePath="changelog-3.7"> + + <changeSet author="author" id="changelog-3.7"> + + <update tableName="devices"> + <column name="groupid"/> + <where>groupid NOT IN (SELECT id FROM groups)</where> + </update> + + <addForeignKeyConstraint baseColumnNames="groupid" baseTableName="devices" constraintName="fk_device_group_groupid" onDelete="SET NULL" onUpdate="RESTRICT" referencedColumnNames="id" referencedTableName="groups"/> + + <update tableName="groups"> + <column name="groupid"/> + <where>groupid NOT IN (SELECT id FROM (SELECT id FROM groups) AS groups_ids)</where> + </update> + + </changeSet> + + <changeSet author="author" id="changelog-3.7-notmssql"> + + <preConditions onFail="MARK_RAN"> + <not> + <dbms type="mssql" /> + </not> + </preConditions> + <addForeignKeyConstraint baseColumnNames="groupid" baseTableName="groups" constraintName="fk_group_group_groupid" onDelete="SET NULL" onUpdate="RESTRICT" referencedColumnNames="id" referencedTableName="groups"/> + + </changeSet> +</databaseChangeLog> diff --git a/schema/changelog-master.xml b/schema/changelog-master.xml index 399cd3c8d..3b62537d0 100644 --- a/schema/changelog-master.xml +++ b/schema/changelog-master.xml @@ -8,4 +8,5 @@ <include file="changelog-3.3.xml" relativeToChangelogFile="true" /> <include file="changelog-3.5.xml" relativeToChangelogFile="true" /> <include file="changelog-3.6.xml" relativeToChangelogFile="true" /> + <include file="changelog-3.7.xml" relativeToChangelogFile="true" /> </databaseChangeLog> |