aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Tananaev <anton.tananaev@gmail.com>2016-07-13 16:10:31 +1200
committerGitHub <noreply@github.com>2016-07-13 16:10:31 +1200
commit6a63cf732a11df1512071e3777e080627b878bc5 (patch)
tree301fe4b4c8d2ef257b11c61fd9527df4c656e519
parentf28ac06a2863861c1ba11f8c06eff680c3bf8381 (diff)
parentf96d6a68af0b82f331f187cfd5506e603742e37f (diff)
downloadtraccar-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.xml35
-rw-r--r--schema/changelog-master.xml1
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>