diff options
author | Abyss777 <abyss@fox5.ru> | 2018-06-08 10:00:28 +0500 |
---|---|---|
committer | Abyss777 <abyss@fox5.ru> | 2018-06-08 10:00:28 +0500 |
commit | 37868cf0b5be5b99e48b28d1aafacdc74c2aff9e (patch) | |
tree | 4abf328422a470053cea2228ed373e7a60de7cbe | |
parent | acf93dbe1b5c03df4f8f82ffb7fb0cace767a416 (diff) | |
download | traccar-server-37868cf0b5be5b99e48b28d1aafacdc74c2aff9e.tar.gz traccar-server-37868cf0b5be5b99e48b28d1aafacdc74c2aff9e.tar.bz2 traccar-server-37868cf0b5be5b99e48b28d1aafacdc74c2aff9e.zip |
Rename all tables to avoid using reserved words
-rw-r--r-- | schema/changelog-4.0.xml | 56 | ||||
-rw-r--r-- | schema/changelog-master.xml | 1 | ||||
-rw-r--r-- | setup/default.xml | 16 | ||||
-rw-r--r-- | src/org/traccar/database/DataManager.java | 5 |
4 files changed, 68 insertions, 10 deletions
diff --git a/schema/changelog-4.0.xml b/schema/changelog-4.0.xml new file mode 100644 index 000000000..04e9fe0c4 --- /dev/null +++ b/schema/changelog-4.0.xml @@ -0,0 +1,56 @@ +<?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-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> diff --git a/schema/changelog-master.xml b/schema/changelog-master.xml index 3e7944238..e8fbc0c4b 100644 --- a/schema/changelog-master.xml +++ b/schema/changelog-master.xml @@ -18,4 +18,5 @@ <include file="changelog-3.15.xml" relativeToChangelogFile="true" /> <include file="changelog-3.16.xml" relativeToChangelogFile="true" /> <include file="changelog-3.17.xml" relativeToChangelogFile="true" /> + <include file="changelog-4.0.xml" relativeToChangelogFile="true" /> </databaseChangeLog> diff --git a/setup/default.xml b/setup/default.xml index ee80fb4df..c427217f7 100644 --- a/setup/default.xml +++ b/setup/default.xml @@ -41,36 +41,36 @@ <entry key='database.changelog'>./schema/changelog-master.xml</entry> <entry key='database.loginUser'> - SELECT * FROM users + SELECT * FROM tc_users WHERE email = :email OR login = :email </entry> <entry key='database.selectPositions'> - SELECT * FROM positions WHERE deviceId = :deviceId AND fixTime BETWEEN :from AND :to ORDER BY fixTime + SELECT * FROM tc_positions WHERE deviceId = :deviceId AND fixTime BETWEEN :from AND :to ORDER BY fixTime </entry> <entry key='database.selectLatestPositions'> - SELECT positions.* FROM positions INNER JOIN devices ON positions.id = devices.positionid; + SELECT tc_positions.* FROM tc_positions INNER JOIN tc_devices ON tc_positions.id = tc_devices.positionid; </entry> <entry key='database.updateLatestPosition'> - UPDATE devices SET positionId = :id WHERE id = :deviceId + UPDATE tc_devices SET positionId = :id WHERE id = :deviceId </entry> <entry key='database.selectEvents'> - SELECT * FROM events WHERE deviceId = :deviceId AND serverTime BETWEEN :from AND :to ORDER BY serverTime + SELECT * FROM tc_events WHERE deviceId = :deviceId AND serverTime BETWEEN :from AND :to ORDER BY serverTime </entry> <entry key='database.deletePositions'> - DELETE FROM positions WHERE serverTime < :serverTime AND id NOT IN (SELECT positionId FROM devices WHERE positionId IS NOT NULL) + DELETE FROM tc_positions WHERE serverTime < :serverTime AND id NOT IN (SELECT positionId FROM tc_devices WHERE positionId IS NOT NULL) </entry> <entry key='database.deleteEvents'> - DELETE FROM events WHERE serverTime < :serverTime + DELETE FROM tc_events WHERE serverTime < :serverTime </entry> <entry key='database.selectStatistics'> - SELECT * FROM statistics WHERE captureTime BETWEEN :from AND :to ORDER BY captureTime + SELECT * FROM tc_statistics WHERE captureTime BETWEEN :from AND :to ORDER BY captureTime </entry> <!-- PROTOCOL CONFIG --> diff --git a/src/org/traccar/database/DataManager.java b/src/org/traccar/database/DataManager.java index ae5ec2d5f..06dd26b17 100644 --- a/src/org/traccar/database/DataManager.java +++ b/src/org/traccar/database/DataManager.java @@ -273,11 +273,12 @@ public class DataManager { if (propertyName.equals("ManagedUser")) { propertyName = "User"; } - return Introspector.decapitalize(owner.getSimpleName()) + "_" + Introspector.decapitalize(propertyName); + return "tc_" + Introspector.decapitalize(owner.getSimpleName()) + + "_" + Introspector.decapitalize(propertyName); } private static String getObjectsTableName(Class<?> clazz) { - String result = Introspector.decapitalize(clazz.getSimpleName()); + String result = "tc_" + Introspector.decapitalize(clazz.getSimpleName()); // Add "s" ending if object name is not plural already if (!result.endsWith("s")) { result += "s"; |