diff options
author | Abyss777 <abyss@fox5.ru> | 2016-07-12 11:54:57 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2016-07-12 16:37:15 +0500 |
commit | 06540fec5268e799c859c1f428e64351ab9431e9 (patch) | |
tree | c6a31a2de4f84c9159c02acd5ac171970f7a13b2 /schema | |
parent | 8d5b4ec5ec8e4aaa2c34793e3100a7782551afbd (diff) | |
download | traccar-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.xml | 19 | ||||
-rw-r--r-- | schema/changelog-3.7.xml | 24 | ||||
-rw-r--r-- | schema/changelog-master.xml | 2 |
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> |