traccar/schema/changelog-4.0.xml
2018-10-21 16:05:52 +04:00

193 lines
7.5 KiB
XML

<?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-4.0">
<changeSet author="author" id="changelog-4.0-pre">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="tc_servers" />
</not>
<not>
<columnExists tableName="notifications" columnName="notificators" />
</not>
</preConditions>
<addColumn tableName="notifications">
<column name="notificators" type="VARCHAR(128)" />
</addColumn>
</changeSet>
<changeSet author="author" id="changelog-4.0-common">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="tc_servers" />
</not>
<not>
<dbms type="postgresql" />
</not>
<columnExists tableName="notifications" columnName="web" />
<columnExists tableName="notifications" columnName="mail" />
<columnExists tableName="notifications" columnName="sms" />
</preConditions>
<update tableName="notifications">
<column name="notificators" value="web,mail,sms" />
<where>web = 1 AND mail = 1 AND sms = 1</where>
</update>
<update tableName="notifications">
<column name="notificators" value="web,mail" />
<where>web = 1 AND mail = 1 AND sms = 0</where>
</update>
<update tableName="notifications">
<column name="notificators" value="web" />
<where>web = 1 AND mail = 0 AND sms = 0</where>
</update>
<update tableName="notifications">
<column name="notificators" value="web,sms" />
<where>web = 1 AND mail = 0 AND sms = 1</where>
</update>
<update tableName="notifications">
<column name="notificators" value="mail,sms" />
<where>web = 0 AND mail = 1 AND sms = 1</where>
</update>
<update tableName="notifications">
<column name="notificators" value="mail" />
<where>web = 0 AND mail = 1 AND sms = 0</where>
</update>
<update tableName="notifications">
<column name="notificators" value="sms" />
<where>web = 0 AND mail = 0 AND sms = 1</where>
</update>
</changeSet>
<changeSet author="author" id="changelog-4.0-pg">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="tc_servers" />
</not>
<dbms type="postgresql" />
<columnExists tableName="tc_notifications" columnName="web" />
<columnExists tableName="tc_notifications" columnName="mail" />
<columnExists tableName="tc_notifications" columnName="sms" />
</preConditions>
<update tableName="notifications">
<column name="notificators" value="web,mail,sms" />
<where>web = TRUE AND mail = TRUE AND sms = TRUE</where>
</update>
<update tableName="notifications">
<column name="notificators" value="web,mail" />
<where>web = TRUE AND mail = TRUE AND sms = FALSE</where>
</update>
<update tableName="notifications">
<column name="notificators" value="web" />
<where>web = TRUE AND mail = FALSE AND sms = FALSE</where>
</update>
<update tableName="notifications">
<column name="notificators" value="web,sms" />
<where>web = TRUE AND mail = FALSE AND sms = TRUE</where>
</update>
<update tableName="notifications">
<column name="notificators" value="mail,sms" />
<where>web = FALSE AND mail = TRUE AND sms = TRUE</where>
</update>
<update tableName="notifications">
<column name="notificators" value="mail" />
<where>web = FALSE AND mail = TRUE AND sms = FALSE</where>
</update>
<update tableName="notifications">
<column name="notificators" value="sms" />
<where>web = FALSE AND mail = FALSE AND sms = TRUE</where>
</update>
</changeSet>
<changeSet author="author" id="changelog-4.0">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="tc_servers" />
</not>
</preConditions>
<dropDefaultValue tableName="notifications" columnName="web" />
<dropColumn tableName="notifications" columnName="web" />
<dropDefaultValue tableName="notifications" columnName="mail" />
<dropColumn tableName="notifications" columnName="mail" />
<dropDefaultValue tableName="notifications" columnName="sms" />
<dropColumn tableName="notifications" columnName="sms" />
</changeSet>
<changeSet author="author" id="changelog-4.0-renaming">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="tc_servers" />
</not>
</preConditions>
<renameTable oldTableName="attributes" newTableName="tc_attributes" />
<renameTable oldTableName="calendars" newTableName="tc_calendars" />
<renameTable oldTableName="commands" newTableName="tc_commands" />
<renameTable oldTableName="device_attribute" newTableName="tc_device_attribute" />
<renameTable oldTableName="device_command" newTableName="tc_device_command" />
<renameTable oldTableName="device_driver" newTableName="tc_device_driver" />
<renameTable oldTableName="device_geofence" newTableName="tc_device_geofence" />
<renameTable oldTableName="device_maintenance" newTableName="tc_device_maintenance" />
<renameTable oldTableName="device_notification" newTableName="tc_device_notification" />
<renameTable oldTableName="devices" newTableName="tc_devices" />
<renameTable oldTableName="drivers" newTableName="tc_drivers" />
<renameTable oldTableName="events" newTableName="tc_events" />
<renameTable oldTableName="geofences" newTableName="tc_geofences" />
<renameTable oldTableName="group_attribute" newTableName="tc_group_attribute" />
<renameTable oldTableName="group_command" newTableName="tc_group_command" />
<renameTable oldTableName="group_driver" newTableName="tc_group_driver" />
<renameTable oldTableName="group_geofence" newTableName="tc_group_geofence" />
<renameTable oldTableName="group_maintenance" newTableName="tc_group_maintenance" />
<renameTable oldTableName="group_notification" newTableName="tc_group_notification" />
<renameTable oldTableName="groups" newTableName="tc_groups" />
<renameTable oldTableName="maintenances" newTableName="tc_maintenances" />
<renameTable oldTableName="notifications" newTableName="tc_notifications" />
<renameTable oldTableName="positions" newTableName="tc_positions" />
<renameTable oldTableName="servers" newTableName="tc_servers" />
<renameTable oldTableName="statistics" newTableName="tc_statistics" />
<renameTable oldTableName="user_attribute" newTableName="tc_user_attribute" />
<renameTable oldTableName="user_calendar" newTableName="tc_user_calendar" />
<renameTable oldTableName="user_command" newTableName="tc_user_command" />
<renameTable oldTableName="user_device" newTableName="tc_user_device" />
<renameTable oldTableName="user_driver" newTableName="tc_user_driver" />
<renameTable oldTableName="user_geofence" newTableName="tc_user_geofence" />
<renameTable oldTableName="user_group" newTableName="tc_user_group" />
<renameTable oldTableName="user_maintenance" newTableName="tc_user_maintenance" />
<renameTable oldTableName="user_notification" newTableName="tc_user_notification" />
<renameTable oldTableName="user_user" newTableName="tc_user_user" />
<renameTable oldTableName="users" newTableName="tc_users" />
</changeSet>
</databaseChangeLog>