diff --git a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/webapp/WEB-INF/cxf-servlet.xml b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/webapp/WEB-INF/cxf-servlet.xml
index e7426237cb2..93c3719b980 100644
--- a/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/webapp/WEB-INF/cxf-servlet.xml
+++ b/components/device-mgt/io.entgra.carbon.device.mgt.config.api/src/main/webapp/WEB-INF/cxf-servlet.xml
@@ -26,12 +26,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql
index f52bed8d00a..c527642e8c8 100644
--- a/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql
+++ b/features/device-mgt/org.wso2.carbon.device.mgt.basics.feature/src/main/resources/dbscripts/cdm/postgresql.sql
@@ -490,26 +490,31 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_LOCATION (
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
+CREATE INDEX DM_DEVICE_LOCATION_GEO_hashx ON DM_DEVICE_LOCATION(GEO_HASH ASC);
-CREATE TABLE IF NOT EXISTS DM_DEVICE_HISTORY_LAST_SEVEN_DAYS
-(
- ID BIGSERIAL NOT NULL PRIMARY KEY,
- DEVICE_ID INT NOT NULL,
- DEVICE_ID_NAME VARCHAR(255) NOT NULL,
- TENANT_ID INT NOT NULL,
- DEVICE_TYPE_NAME VARCHAR(45) NOT NULL,
- LATITUDE DOUBLE PRECISION NULL,
- LONGITUDE DOUBLE PRECISION NULL,
- SPEED FLOAT NULL,
- HEADING FLOAT NULL,
- TIMESTAMP BIGINT(15) NOT NULL,
- GEO_HASH VARCHAR(45) NULL,
- DEVICE_OWNER VARCHAR(45) NULL,
- DEVICE_ALTITUDE DOUBLE PRECISION NULL,
- DISTANCE DOUBLE PRECISION NULL,
-);
-CREATE INDEX DM_DEVICE_LOCATION_GEO_hashx ON DM_DEVICE_LOCATION(GEO_HASH ASC);
+CREATE TABLE IF NOT EXISTS DM_DEVICE_HISTORY_LAST_SEVEN_DAYS (
+ ID BIGSERIAL NOT NULL PRIMARY KEY,
+ DEVICE_ID INTEGER NOT NULL,
+ DEVICE_ID_NAME VARCHAR(255) NOT NULL,
+ TENANT_ID INTEGER NOT NULL,
+ DEVICE_TYPE_NAME VARCHAR(45) NOT NULL,
+ LATITUDE DOUBLE PRECISION NULL,
+ LONGITUDE DOUBLE PRECISION NULL,
+ SPEED FLOAT NULL,
+ HEADING FLOAT NULL,
+ TIMESTAMP BIGINT NOT NULL,
+ GEO_HASH VARCHAR(45) NULL,
+ DEVICE_OWNER VARCHAR(45) NULL,
+ DEVICE_ALTITUDE DOUBLE PRECISION NULL,
+ DISTANCE DOUBLE PRECISION NULL,
+ CONSTRAINT DM_DEVICE_HISTORY_LAST_SEVEN_DAYS
+ FOREIGN KEY (DEVICE_ID)
+ REFERENCES DM_DEVICE (ID)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION
+);
+CREATE INDEX DM_DEVICE_HISTORY_LAST_SEVEN_DAYS_GEO_hashx ON DM_DEVICE_HISTORY_LAST_SEVEN_DAYS(GEO_HASH ASC);
CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL (
ID BIGSERIAL NOT NULL PRIMARY KEY,
@@ -543,20 +548,19 @@ CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL (
ON UPDATE NO ACTION
);
-CREATE SEQUENCE `DM_DEVICE_TYPE_PLATFORM`_seq;
-
-CREATE TABLE IF NOT EXISTS `DM_DEVICE_TYPE_PLATFORM` (
- ID INT NOT NULL DEFAULT NEXTVAL ('`DM_DEVICE_TYPE_PLATFORM`_seq'),
+CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_PLATFORM (
+ ID BIGSERIAL NOT NULL PRIMARY KEY,
DEVICE_TYPE_ID INT DEFAULT 0,
VERSION_NAME VARCHAR(100) NULL,
VERSION_STATUS VARCHAR(100) DEFAULT 'ACTIVE',
- PRIMARY KEY (ID),
- CONSTRAINT DM_DEVICE_TYPE_DM_DEVICE_TYPE_PLATFORM_MAPPING FOREIGN KEY (DEVICE_TYPE_ID)
- REFERENCES DM_DEVICE_TYPE (ID)
- ON DELETE CASCADE
- ON UPDATE CASCADE,
- CONSTRAINT device_type_version_uk UNIQUE (DEVICE_TYPE_ID, VERSION_NAME)
- )
+ CONSTRAINT FK_DM_DEVICE_TYPE_PLATFORM_MAPPING
+ FOREIGN KEY (DEVICE_TYPE_ID)
+ REFERENCES DM_DEVICE_TYPE (ID)
+ ON DELETE NO ACTION
+ ON UPDATE NO ACTION,
+ CONSTRAINT device_type_version_uk
+ UNIQUE (DEVICE_TYPE_ID, VERSION_NAME)
+);
-- DASHBOARD RELATED VIEWS --