aboutsummaryrefslogtreecommitdiff
path: root/schema
diff options
context:
space:
mode:
authorAbyss777 <abyss@fox5.ru>2016-07-12 11:54:57 +0500
committerAbyss777 <abyss@fox5.ru>2016-07-12 16:37:15 +0500
commit06540fec5268e799c859c1f428e64351ab9431e9 (patch)
treec6a31a2de4f84c9159c02acd5ac171970f7a13b2 /schema
parent8d5b4ec5ec8e4aaa2c34793e3100a7782551afbd (diff)
downloadtraccar-server-06540fec5268e799c859c1f428e64351ab9431e9.tar.gz
traccar-server-06540fec5268e799c859c1f428e64351ab9431e9.tar.bz2
traccar-server-06540fec5268e799c859c1f428e64351ab9431e9.zip
Add Foreign Key Constraint for groupIds
Diffstat (limited to 'schema')
-rw-r--r--schema/changelog-3.7-notmssql.xml19
-rw-r--r--schema/changelog-3.7.xml24
-rw-r--r--schema/changelog-master.xml2
3 files changed, 45 insertions, 0 deletions
diff --git a/schema/changelog-3.7-notmssql.xml b/schema/changelog-3.7-notmssql.xml
new file mode 100644
index 000000000..a22703073
--- /dev/null
+++ b/schema/changelog-3.7-notmssql.xml
@@ -0,0 +1,19 @@
+<?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-notmssql">
+
+ <changeSet author="author" id="changelog-3.7-notmssql">
+
+ <preConditions onFail="CONTINUE">
+ <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-3.7.xml b/schema/changelog-3.7.xml
new file mode 100644
index 000000000..f6e2c713d
--- /dev/null
+++ b/schema/changelog-3.7.xml
@@ -0,0 +1,24 @@
+<?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_1)</where>
+ </update>
+
+ </changeSet>
+</databaseChangeLog>
diff --git a/schema/changelog-master.xml b/schema/changelog-master.xml
index 399cd3c8d..e6fd842aa 100644
--- a/schema/changelog-master.xml
+++ b/schema/changelog-master.xml
@@ -8,4 +8,6 @@
<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" />
+ <include file="changelog-3.7-notmssql.xml" relativeToChangelogFile="true" />
</databaseChangeLog>