From 99ff4cbc10dbc82d5dd7dfed72ce6f1bb11cf3e1 Mon Sep 17 00:00:00 2001 From: prabathabey Date: Mon, 5 Sep 2016 23:43:24 +0530 Subject: [PATCH] Improving MSSQL SQL scripts of CDM-F and removing a redundant table declaration found in H2 SQL Script --- .../src/main/resources/dbscripts/cdm/h2.sql | 14 - .../main/resources/dbscripts/cdm/mssql.sql | 678 ++++++------------ 2 files changed, 200 insertions(+), 492 deletions(-) diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/dbscripts/cdm/h2.sql b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/dbscripts/cdm/h2.sql index 82c2eba5366..cd9560016a0 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/dbscripts/cdm/h2.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/dbscripts/cdm/h2.sql @@ -359,20 +359,6 @@ CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_FEATURES ( ON UPDATE NO ACTION ); -CREATE TABLE IF NOT EXISTS DM_ENROLMENT ( - ID INTEGER AUTO_INCREMENT NOT NULL, - DEVICE_ID INTEGER NOT NULL, - OWNER VARCHAR(50) NOT NULL, - OWNERSHIP VARCHAR(45) DEFAULT NULL, - STATUS VARCHAR(50) NULL, - DATE_OF_ENROLMENT TIMESTAMP DEFAULT NULL, - DATE_OF_LAST_UPDATE TIMESTAMP DEFAULT NULL, - TENANT_ID INT NOT NULL, - PRIMARY KEY (ID), - CONSTRAINT fk_dm_device_enrolment FOREIGN KEY (DEVICE_ID) REFERENCES - DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -); - CREATE TABLE IF NOT EXISTS DM_APPLICATION ( ID INTEGER AUTO_INCREMENT NOT NULL, NAME VARCHAR(150) NOT NULL, diff --git a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/dbscripts/cdm/mssql.sql b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/dbscripts/cdm/mssql.sql index 85cf0b078bb..6482fcb7760 100644 --- a/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/dbscripts/cdm/mssql.sql +++ b/features/device-mgt/org.wso2.carbon.device.mgt.server.feature/src/main/resources/dbscripts/cdm/mssql.sql @@ -1,356 +1,273 @@ - - -CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE ( - ID INT AUTO_INCREMENT NOT NULL, - NAME VARCHAR(300) DEFAULT NULL, - PROVIDER_TENANT_ID INTEGER DEFAULT 0, - SHARED_WITH_ALL_TENANTS BOOLEAN NOT NULL DEFAULT FALSE, +CREATE TABLE DM_DEVICE_TYPE ( + ID INTEGER IDENTITY(1,1) NOT NULL, + NAME VARCHAR(50) DEFAULT NULL, PRIMARY KEY (ID) -)ENGINE = InnoDB; -CREATE INDEX device_type_name ON DM_DEVICE_TYPE (NAME); - -CREATE TABLE IF NOT EXISTS DM_DEVICE ( - ID INTEGER AUTO_INCREMENT NOT NULL, - DESCRIPTION TEXT DEFAULT NULL, - NAME VARCHAR(100) DEFAULT NULL, - DEVICE_TYPE_ID INT(11) DEFAULT NULL, - DEVICE_IDENTIFICATION VARCHAR(300) DEFAULT NULL, - LAST_UPDATED_TIMESTAMP TIMESTAMP NOT NULL, +); + +CREATE TABLE DM_DEVICE_CERTIFICATE ( + ID INTEGER IDENTITY(1,1) NOT NULL, + SERIAL_NUMBER VARCHAR(50) DEFAULT NULL, + CERTIFICATE VARBINARY(255) DEFAULT NULL, + PRIMARY KEY (ID) +); + +CREATE TABLE DM_DEVICE ( + ID INTEGER IDENTITY(1,1) NOT NULL, + DESCRIPTION TEXT DEFAULT NULL, + NAME VARCHAR(50) DEFAULT NULL, + DEVICE_TYPE_ID INTEGER DEFAULT NULL, + DEVICE_IDENTIFICATION VARCHAR(50) DEFAULT NULL, TENANT_ID INTEGER DEFAULT 0, PRIMARY KEY (ID), - CONSTRAINT fk_DM_DEVICE_DM_DEVICE_TYPE2 FOREIGN KEY (DEVICE_TYPE_ID) - REFERENCES DM_DEVICE_TYPE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT uk_DM_DEVICE UNIQUE (NAME, DEVICE_TYPE_ID, DEVICE_IDENTIFICATION, TENANT_ID) -)ENGINE = InnoDB; + CONSTRAINT FK_DM_DEVICE_DM_DEVICE_TYPE2 FOREIGN KEY (DEVICE_TYPE_ID) + REFERENCES DM_DEVICE_TYPE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION +); - -CREATE TABLE IF NOT EXISTS DM_OPERATION ( - ID INTEGER AUTO_INCREMENT NOT NULL, +CREATE TABLE DM_OPERATION ( + ID INTEGER IDENTITY(1,1) NOT NULL, TYPE VARCHAR(50) NOT NULL, - CREATED_TIMESTAMP TIMESTAMP NOT NULL, - RECEIVED_TIMESTAMP TIMESTAMP NULL, - OPERATION_CODE VARCHAR(1000) NOT NULL, + CREATED_TIMESTAMP DATETIME2 NOT NULL, + RECEIVED_TIMESTAMP DATETIME2 NULL, + OPERATION_CODE VARCHAR(50) NOT NULL, PRIMARY KEY (ID) -)ENGINE = InnoDB; - +); -CREATE TABLE IF NOT EXISTS DM_CONFIG_OPERATION ( +CREATE TABLE DM_CONFIG_OPERATION ( OPERATION_ID INTEGER NOT NULL, - OPERATION_CONFIG BLOB DEFAULT NULL, + OPERATION_CONFIG VARBINARY(255) DEFAULT NULL, PRIMARY KEY (OPERATION_ID), CONSTRAINT FK_DM_OPERATION_CONFIG FOREIGN KEY (OPERATION_ID) REFERENCES DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -)ENGINE = InnoDB; +); - -CREATE TABLE IF NOT EXISTS DM_COMMAND_OPERATION ( +CREATE TABLE DM_COMMAND_OPERATION ( OPERATION_ID INTEGER NOT NULL, - ENABLED BOOLEAN NOT NULL DEFAULT FALSE, + ENABLED BIT NOT NULL DEFAULT 0, PRIMARY KEY (OPERATION_ID), CONSTRAINT FK_DM_OPERATION_COMMAND FOREIGN KEY (OPERATION_ID) REFERENCES DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -)ENGINE = InnoDB; - +); -CREATE TABLE IF NOT EXISTS DM_POLICY_OPERATION ( +CREATE TABLE DM_POLICY_OPERATION ( OPERATION_ID INTEGER NOT NULL, ENABLED INTEGER NOT NULL DEFAULT 0, - OPERATION_DETAILS BLOB DEFAULT NULL, + OPERATION_DETAILS VARBINARY(255) DEFAULT NULL, PRIMARY KEY (OPERATION_ID), CONSTRAINT FK_DM_OPERATION_POLICY FOREIGN KEY (OPERATION_ID) REFERENCES DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -)ENGINE = InnoDB; - +); -CREATE TABLE IF NOT EXISTS DM_PROFILE_OPERATION ( +CREATE TABLE DM_PROFILE_OPERATION ( OPERATION_ID INTEGER NOT NULL, ENABLED INTEGER NOT NULL DEFAULT 0, - OPERATION_DETAILS BLOB DEFAULT NULL, + OPERATION_DETAILS VARBINARY(255) DEFAULT NULL, PRIMARY KEY (OPERATION_ID), CONSTRAINT FK_DM_OPERATION_PROFILE FOREIGN KEY (OPERATION_ID) REFERENCES DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -)ENGINE = InnoDB; +); - -CREATE TABLE IF NOT EXISTS DM_ENROLMENT ( - ID INTEGER AUTO_INCREMENT NOT NULL, +CREATE TABLE DM_ENROLMENT ( + ID INTEGER IDENTITY(1,1) NOT NULL, DEVICE_ID INTEGER NOT NULL, OWNER VARCHAR(50) NOT NULL, OWNERSHIP VARCHAR(45) DEFAULT NULL, STATUS VARCHAR(50) NULL, - DATE_OF_ENROLMENT TIMESTAMP NULL DEFAULT NULL, - DATE_OF_LAST_UPDATE TIMESTAMP NULL DEFAULT NULL, - TENANT_ID INT NOT NULL, + DATE_OF_ENROLMENT DATETIME2 DEFAULT NULL, + DATE_OF_LAST_UPDATE DATETIME2 DEFAULT NULL, + TENANT_ID INTEGER NOT NULL, PRIMARY KEY (ID), CONSTRAINT FK_DM_DEVICE_ENROLMENT FOREIGN KEY (DEVICE_ID) REFERENCES - DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT uk_dm_device_enrolment UNIQUE (DEVICE_ID, OWNER, OWNERSHIP, TENANT_ID) -)ENGINE = InnoDB; - + DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION +); -CREATE TABLE IF NOT EXISTS DM_ENROLMENT_OP_MAPPING ( - ID INTEGER AUTO_INCREMENT NOT NULL, +CREATE TABLE DM_ENROLMENT_OP_MAPPING ( + ID INTEGER IDENTITY(1,1) NOT NULL, ENROLMENT_ID INTEGER NOT NULL, OPERATION_ID INTEGER NOT NULL, STATUS VARCHAR(50) NULL, - CREATED_TIMESTAMP INT NOT NULL, - UPDATED_TIMESTAMP INT NOT NULL, PRIMARY KEY (ID), - CONSTRAINT fk_dm_device_operation_mapping_device FOREIGN KEY (ENROLMENT_ID) REFERENCES + CONSTRAINT FK_DM_DEVICE_OPERATION_MAPPING_DEVICE FOREIGN KEY (ENROLMENT_ID) REFERENCES DM_ENROLMENT (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT fk_dm_device_operation_mapping_operation FOREIGN KEY (OPERATION_ID) REFERENCES + CONSTRAINT FK_DM_DEVICE_OPERATION_MAPPING_OPERATION FOREIGN KEY (OPERATION_ID) REFERENCES DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -)ENGINE = InnoDB; +); - -CREATE TABLE IF NOT EXISTS DM_DEVICE_OPERATION_RESPONSE ( - ID INTEGER AUTO_INCREMENT NOT NULL, +CREATE TABLE DM_DEVICE_OPERATION_RESPONSE ( + ID INTEGER IDENTITY(1,1) NOT NULL, ENROLMENT_ID INTEGER NOT NULL, OPERATION_ID INTEGER NOT NULL, - OPERATION_RESPONSE BLOB DEFAULT NULL, - RECEIVED_TIMESTAMP TIMESTAMP NULL, + OPERATION_RESPONSE VARBINARY(255) DEFAULT NULL, PRIMARY KEY (ID), - CONSTRAINT fk_dm_device_operation_response_enrollment FOREIGN KEY (ENROLMENT_ID) REFERENCES + CONSTRAINT FK_DM_DEVICE_OPERATION_RESP_ENROLMENT FOREIGN KEY (ENROLMENT_ID) REFERENCES DM_ENROLMENT (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT fk_dm_device_operation_response_operation FOREIGN KEY (OPERATION_ID) REFERENCES + CONSTRAINT FK_DM_DEVICE_OPERATION_RESP_OPERATION FOREIGN KEY (OPERATION_ID) REFERENCES DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -)ENGINE = InnoDB; +); -- POLICY RELATED TABLES -- -CREATE TABLE IF NOT EXISTS DM_PROFILE ( - ID INT NOT NULL AUTO_INCREMENT , +CREATE TABLE DM_PROFILE ( + ID INTEGER NOT NULL IDENTITY(1,1) , PROFILE_NAME VARCHAR(45) NOT NULL , - TENANT_ID INT NOT NULL , - DEVICE_TYPE VARCHAR(300) NOT NULL , + TENANT_ID INTEGER NOT NULL , + DEVICE_TYPE_ID INTEGER NOT NULL , CREATED_TIME DATETIME NOT NULL , UPDATED_TIME DATETIME NOT NULL , PRIMARY KEY (ID) , - CONSTRAINT DM_PROFILE_DEVICE_TYPE - FOREIGN KEY (DEVICE_TYPE) - REFERENCES DM_DEVICE_TYPE (NAME) - ON DELETE NO ACTION - ON UPDATE NO ACTION -)ENGINE = InnoDB; - + CONSTRAINT DM_PROFILE_DEVICE_TYPE FOREIGN KEY (DEVICE_TYPE_ID) REFERENCES + DM_DEVICE_TYPE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION +); -CREATE TABLE IF NOT EXISTS DM_POLICY ( - ID INT(11) NOT NULL AUTO_INCREMENT , +CREATE TABLE DM_POLICY ( + ID INTEGER NOT NULL IDENTITY(1,1) , NAME VARCHAR(45) DEFAULT NULL , DESCRIPTION VARCHAR(1000) NULL, - TENANT_ID INT(11) NOT NULL , - PROFILE_ID INT(11) NOT NULL , + TENANT_ID INTEGER NOT NULL , + PROFILE_ID INTEGER NOT NULL , OWNERSHIP_TYPE VARCHAR(45) NULL, COMPLIANCE VARCHAR(100) NULL, - PRIORITY INT NOT NULL, - ACTIVE INT(2) NOT NULL, - UPDATED INT(1) NULL, + PRIORITY INTEGER NOT NULL, + ACTIVE BIT NOT NULL DEFAULT 0, + UPDATED BIT NULL DEFAULT 0, PRIMARY KEY (ID) , - CONSTRAINT FK_DM_PROFILE_DM_POLICY - FOREIGN KEY (PROFILE_ID ) - REFERENCES DM_PROFILE (ID ) - ON DELETE NO ACTION - ON UPDATE NO ACTION -)ENGINE = InnoDB; - - -CREATE TABLE IF NOT EXISTS DM_DEVICE_POLICY ( - ID INT(11) NOT NULL AUTO_INCREMENT , - DEVICE_ID INT(11) NOT NULL , - ENROLMENT_ID INT(11) NOT NULL, - DEVICE BLOB NOT NULL, - POLICY_ID INT(11) NOT NULL , + CONSTRAINT FK_DM_PROFILE_DM_POLICY FOREIGN KEY (PROFILE_ID) REFERENCES DM_PROFILE (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION +); + +CREATE TABLE DM_DEVICE_POLICY ( + ID INTEGER NOT NULL IDENTITY(1,1) , + DEVICE_ID INTEGER NOT NULL , + ENROLMENT_ID INTEGER NOT NULL, + DEVICE VARBINARY(255) NOT NULL, + POLICY_ID INTEGER NOT NULL , PRIMARY KEY (ID) , - CONSTRAINT FK_POLICY_DEVICE_POLICY - FOREIGN KEY (POLICY_ID ) - REFERENCES DM_POLICY (ID ) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT FK_DEVICE_DEVICE_POLICY - FOREIGN KEY (DEVICE_ID ) - REFERENCES DM_DEVICE (ID ) - ON DELETE NO ACTION - ON UPDATE NO ACTION -)ENGINE = InnoDB; - - -CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE_POLICY ( - ID INT(11) NOT NULL , - DEVICE_TYPE VARCHAR(300) NOT NULL , - POLICY_ID INT(11) NOT NULL , + CONSTRAINT FK_POLICY_DEVICE_POLICY FOREIGN KEY (POLICY_ID) REFERENCES DM_POLICY (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT FK_DEVICE_DEVICE_POLICY FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION +); + +CREATE TABLE DM_DEVICE_TYPE_POLICY ( + ID INTEGER NOT NULL , + DEVICE_TYPE_ID INTEGER NOT NULL , + POLICY_ID INTEGER NOT NULL , PRIMARY KEY (ID) , - CONSTRAINT FK_DEVICE_TYPE_POLICY - FOREIGN KEY (POLICY_ID ) - REFERENCES DM_POLICY (ID ) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT FK_DEVICE_TYPE_POLICY_DEVICE_TYPE - FOREIGN KEY (DEVICE_TYPE ) - REFERENCES DM_DEVICE_TYPE (NAME) - ON DELETE NO ACTION - ON UPDATE NO ACTION -)ENGINE = InnoDB; - - -CREATE TABLE IF NOT EXISTS DM_PROFILE_FEATURES ( - ID INT(11) NOT NULL AUTO_INCREMENT, - PROFILE_ID INT(11) NOT NULL, - FEATURE_CODE VARCHAR(100) NOT NULL, - DEVICE_TYPE VARCHAR(300) NOT NULL, - TENANT_ID INT(11) NOT NULL , - CONTENT BLOB NULL DEFAULT NULL, + CONSTRAINT FK_DEVICE_TYPE_POLICY FOREIGN KEY (POLICY_ID) REFERENCES DM_POLICY (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT FK_DEVICE_TYPE_POLICY_DEVICE_TYPE FOREIGN KEY (DEVICE_TYPE_ID) REFERENCES DM_DEVICE_TYPE (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION +); + +CREATE TABLE DM_PROFILE_FEATURES ( + ID INTEGER NOT NULL IDENTITY(1,1), + PROFILE_ID INTEGER NOT NULL, + FEATURE_CODE VARCHAR(30) NOT NULL, + DEVICE_TYPE_ID INTEGER NOT NULL, + TENANT_ID INTEGER NOT NULL , + CONTENT VARBINARY(255) NULL DEFAULT NULL, PRIMARY KEY (ID), - CONSTRAINT FK_DM_PROFILE_DM_POLICY_FEATURES - FOREIGN KEY (PROFILE_ID) - REFERENCES DM_PROFILE (ID) - ON DELETE NO ACTION - ON UPDATE NO ACTION -)ENGINE = InnoDB; - + CONSTRAINT FK_DM_PROFILE_DM_POLICY_FEATURES FOREIGN KEY (PROFILE_ID) REFERENCES DM_PROFILE (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION +); -CREATE TABLE IF NOT EXISTS DM_ROLE_POLICY ( - ID INT(11) NOT NULL AUTO_INCREMENT , +CREATE TABLE DM_ROLE_POLICY ( + ID INTEGER NOT NULL IDENTITY(1,1) , ROLE_NAME VARCHAR(45) NOT NULL , - POLICY_ID INT(11) NOT NULL , + POLICY_ID INTEGER NOT NULL , PRIMARY KEY (ID) , - CONSTRAINT FK_ROLE_POLICY_POLICY - FOREIGN KEY (POLICY_ID ) - REFERENCES DM_POLICY (ID ) - ON DELETE NO ACTION - ON UPDATE NO ACTION -)ENGINE = InnoDB; - + CONSTRAINT FK_ROLE_POLICY_POLICY FOREIGN KEY (POLICY_ID) REFERENCES DM_POLICY (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION +); -CREATE TABLE IF NOT EXISTS DM_USER_POLICY ( - ID INT NOT NULL AUTO_INCREMENT , - POLICY_ID INT NOT NULL , +CREATE TABLE DM_USER_POLICY ( + ID INTEGER NOT NULL IDENTITY(1,1) , + POLICY_ID INTEGER NOT NULL , USERNAME VARCHAR(45) NOT NULL , PRIMARY KEY (ID) , - CONSTRAINT DM_POLICY_USER_POLICY - FOREIGN KEY (POLICY_ID ) - REFERENCES DM_POLICY (ID ) - ON DELETE NO ACTION - ON UPDATE NO ACTION -)ENGINE = InnoDB; - - - CREATE TABLE IF NOT EXISTS DM_DEVICE_POLICY_APPLIED ( - ID INT NOT NULL AUTO_INCREMENT , - DEVICE_ID INT NOT NULL , - ENROLMENT_ID INT(11) NOT NULL, - POLICY_ID INT NOT NULL , - POLICY_CONTENT BLOB NULL , - TENANT_ID INT NOT NULL, - APPLIED TINYINT(1) NULL , - CREATED_TIME TIMESTAMP NULL , - UPDATED_TIME TIMESTAMP NULL , - APPLIED_TIME TIMESTAMP NULL , + CONSTRAINT DM_POLICY_USER_POLICY FOREIGN KEY (POLICY_ID) REFERENCES DM_POLICY (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION +); + + CREATE TABLE DM_DEVICE_POLICY_APPLIED ( + ID INTEGER NOT NULL IDENTITY(1,1) , + DEVICE_ID INTEGER NOT NULL , + ENROLMENT_ID INTEGER NOT NULL, + POLICY_ID INTEGER NOT NULL , + POLICY_CONTENT VARBINARY(255) NULL , + TENANT_ID INTEGER NOT NULL, + APPLIED BIT NULL , + CREATED_TIME DATETIME2 NULL , + UPDATED_TIME DATETIME2 NULL , + APPLIED_TIME DATETIME2 NULL , PRIMARY KEY (ID) , - CONSTRAINT FK_DM_POLICY_DEVCIE_APPLIED - FOREIGN KEY (DEVICE_ID ) - REFERENCES DM_DEVICE (ID ) - ON DELETE NO ACTION - ON UPDATE NO ACTION -)ENGINE = InnoDB; + CONSTRAINT FK_DM_POLICY_DEVCIE_APPLIED FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION +); - -CREATE TABLE IF NOT EXISTS DM_CRITERIA ( - ID INT NOT NULL AUTO_INCREMENT, - TENANT_ID INT NOT NULL, +CREATE TABLE DM_CRITERIA ( + ID INTEGER NOT NULL IDENTITY(1,1), + TENANT_ID INTEGER NOT NULL, NAME VARCHAR(50) NULL, PRIMARY KEY (ID) -)ENGINE = InnoDB; - +); -CREATE TABLE IF NOT EXISTS DM_POLICY_CRITERIA ( - ID INT NOT NULL AUTO_INCREMENT, - CRITERIA_ID INT NOT NULL, - POLICY_ID INT NOT NULL, +CREATE TABLE DM_POLICY_CRITERIA ( + ID INTEGER NOT NULL IDENTITY(1,1), + CRITERIA_ID INTEGER NOT NULL, + POLICY_ID INTEGER NOT NULL, PRIMARY KEY (ID), - CONSTRAINT FK_CRITERIA_POLICY_CRITERIA - FOREIGN KEY (CRITERIA_ID) - REFERENCES DM_CRITERIA (ID) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT FK_POLICY_POLICY_CRITERIA - FOREIGN KEY (POLICY_ID) - REFERENCES DM_POLICY (ID) - ON DELETE NO ACTION - ON UPDATE NO ACTION -)ENGINE = InnoDB; - - -CREATE TABLE IF NOT EXISTS DM_POLICY_CRITERIA_PROPERTIES ( - ID INT NOT NULL AUTO_INCREMENT, - POLICY_CRITERION_ID INT NOT NULL, + CONSTRAINT FK_CRITERIA_POLICY_CRITERIA FOREIGN KEY (CRITERIA_ID) REFERENCES DM_CRITERIA (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT FK_POLICY_POLICY_CRITERIA FOREIGN KEY (POLICY_ID) REFERENCES DM_POLICY (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION +); + +CREATE TABLE DM_POLICY_CRITERIA_PROPERTIES ( + ID INTEGER NOT NULL IDENTITY(1,1), + POLICY_CRITERION_ID INTEGER NOT NULL, PROP_KEY VARCHAR(45) NULL, PROP_VALUE VARCHAR(100) NULL, - CONTENT BLOB NULL COMMENT 'This is used to ', + CONTENT VARBINARY(255) NULL, PRIMARY KEY (ID), - CONSTRAINT FK_POLICY_CRITERIA_PROPERTIES - FOREIGN KEY (POLICY_CRITERION_ID) - REFERENCES DM_POLICY_CRITERIA (ID) - ON DELETE CASCADE - ON UPDATE NO ACTION -)ENGINE = InnoDB; - - -CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_STATUS ( - ID INT NOT NULL AUTO_INCREMENT, - DEVICE_ID INT NOT NULL, - ENROLMENT_ID INT(11) NOT NULL, - POLICY_ID INT NOT NULL, - TENANT_ID INT NOT NULL, - STATUS INT NULL, - LAST_SUCCESS_TIME TIMESTAMP NULL, - LAST_REQUESTED_TIME TIMESTAMP NULL, - LAST_FAILED_TIME TIMESTAMP NULL, - ATTEMPTS INT NULL, + CONSTRAINT FK_POLICY_CRITERIA_PROPERTIES FOREIGN KEY (POLICY_CRITERION_ID) REFERENCES DM_POLICY_CRITERIA (ID) + ON DELETE CASCADE ON UPDATE NO ACTION +); + +CREATE TABLE DM_POLICY_COMPLIANCE_STATUS ( + ID INTEGER NOT NULL IDENTITY(1,1), + DEVICE_ID INTEGER NOT NULL, + ENROLMENT_ID INTEGER NOT NULL, + POLICY_ID INTEGER NOT NULL, + TENANT_ID INTEGER NOT NULL, + STATUS INTEGER NULL, + LAST_SUCCESS_TIME DATETIME2 NULL, + LAST_REQUESTED_TIME DATETIME2 NULL, + LAST_FAILED_TIME DATETIME2 NULL, + ATTEMPTS INTEGER NULL, PRIMARY KEY (ID) -)ENGINE = InnoDB; - +); -CREATE TABLE IF NOT EXISTS DM_POLICY_CHANGE_MGT ( - ID INT NOT NULL AUTO_INCREMENT, - POLICY_ID INT NOT NULL, - DEVICE_TYPE VARCHAR(300) NOT NULL , - TENANT_ID INT(11) NOT NULL, +CREATE TABLE DM_POLICY_CHANGE_MGT ( + ID INTEGER NOT NULL IDENTITY(1,1), + POLICY_ID INTEGER NOT NULL, + DEVICE_TYPE_ID INTEGER NOT NULL, + TENANT_ID INTEGER NOT NULL, PRIMARY KEY (ID) -)ENGINE = InnoDB; - - -CREATE TABLE IF NOT EXISTS DM_POLICY_COMPLIANCE_FEATURES ( - ID INT NOT NULL AUTO_INCREMENT, - COMPLIANCE_STATUS_ID INT NOT NULL, - TENANT_ID INT NOT NULL, - FEATURE_CODE VARCHAR(100) NOT NULL, - STATUS INT NULL, +); + +CREATE TABLE DM_POLICY_COMPLIANCE_FEATURES ( + ID INTEGER NOT NULL IDENTITY(1,1), + COMPLIANCE_STATUS_ID INTEGER NOT NULL, + TENANT_ID INTEGER NOT NULL, + FEATURE_CODE VARCHAR(15) NOT NULL, + STATUS INTEGER NULL, PRIMARY KEY (ID), - CONSTRAINT FK_COMPLIANCE_FEATURES_STATUS - FOREIGN KEY (COMPLIANCE_STATUS_ID) - REFERENCES DM_POLICY_COMPLIANCE_STATUS (ID) - ON DELETE NO ACTION - ON UPDATE NO ACTION -)ENGINE = InnoDB; - + CONSTRAINT FK_COMPLIANCE_FEATURES_STATUS FOREIGN KEY (COMPLIANCE_STATUS_ID) REFERENCES DM_POLICY_COMPLIANCE_STATUS (ID) + ON DELETE NO ACTION ON UPDATE NO ACTION +); -CREATE TABLE IF NOT EXISTS DM_ENROLMENT ( - ID INTEGER AUTO_INCREMENT NOT NULL, - DEVICE_ID INTEGER NOT NULL, - OWNER VARCHAR(50) NOT NULL, - OWNERSHIP VARCHAR(45) DEFAULT NULL, - STATUS VARCHAR(50) NULL, - DATE_OF_ENROLMENT TIMESTAMP NULL DEFAULT NULL, - DATE_OF_LAST_UPDATE TIMESTAMP NULL DEFAULT NULL, - TENANT_ID INT NOT NULL, - PRIMARY KEY (ID), - CONSTRAINT fk_dm_device_enrolment FOREIGN KEY (DEVICE_ID) REFERENCES - DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -)ENGINE = InnoDB; - - -CREATE TABLE IF NOT EXISTS DM_APPLICATION ( - ID INTEGER AUTO_INCREMENT NOT NULL, +CREATE TABLE DM_APPLICATION ( + ID INTEGER IDENTITY(1,1) NOT NULL, NAME VARCHAR(150) NOT NULL, APP_IDENTIFIER VARCHAR(150) NOT NULL, PLATFORM VARCHAR(50) DEFAULT NULL, @@ -359,233 +276,38 @@ CREATE TABLE IF NOT EXISTS DM_APPLICATION ( TYPE VARCHAR(50) NULL, LOCATION_URL VARCHAR(100) DEFAULT NULL, IMAGE_URL VARCHAR(100) DEFAULT NULL, - APP_PROPERTIES BLOB NULL, - MEMORY_USAGE INTEGER(10) NULL, - IS_ACTIVE BOOLEAN NOT NULL DEFAULT FALSE, + APP_PROPERTIES VARBINARY(255) NULL, TENANT_ID INTEGER NOT NULL, PRIMARY KEY (ID) -)ENGINE = InnoDB; - +); -CREATE TABLE IF NOT EXISTS DM_DEVICE_APPLICATION_MAPPING ( - ID INTEGER AUTO_INCREMENT NOT NULL, +CREATE TABLE DM_DEVICE_APPLICATION_MAPPING ( + ID INTEGER IDENTITY(1,1) NOT NULL, DEVICE_ID INTEGER NOT NULL, APPLICATION_ID INTEGER NOT NULL, TENANT_ID INTEGER NOT NULL, PRIMARY KEY (ID), - CONSTRAINT fk_dm_device FOREIGN KEY (DEVICE_ID) REFERENCES + CONSTRAINT FK_DM_DEVICE FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT fk_dm_application FOREIGN KEY (APPLICATION_ID) REFERENCES + CONSTRAINT FK_DM_APPLICATION FOREIGN KEY (APPLICATION_ID) REFERENCES DM_APPLICATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -)ENGINE = InnoDB; +); -- POLICY RELATED TABLES FINISHED -- --- DEVICE GROUP TABLES -- - -CREATE TABLE IF NOT EXISTS DM_GROUP ( - ID INTEGER AUTO_INCREMENT NOT NULL, - GROUP_NAME VARCHAR(100) DEFAULT NULL, - DESCRIPTION TEXT DEFAULT NULL, - DATE_OF_CREATE BIGINT DEFAULT NULL, - DATE_OF_LAST_UPDATE BIGINT DEFAULT NULL, - OWNER VARCHAR(45) DEFAULT NULL, - TENANT_ID INTEGER DEFAULT 0, - PRIMARY KEY (ID) -)ENGINE = InnoDB; - - - -CREATE TABLE IF NOT EXISTS DM_DEVICE_GROUP_MAP ( - ID INTEGER AUTO_INCREMENT NOT NULL, - DEVICE_ID INTEGER DEFAULT NULL, - GROUP_ID INTEGER DEFAULT NULL, - TENANT_ID INTEGER DEFAULT 0, - PRIMARY KEY (ID), - CONSTRAINT fk_DM_DEVICE_GROUP_MAP_DM_DEVICE2 FOREIGN KEY (DEVICE_ID) - REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT fk_DM_DEVICE_GROUP_MAP_DM_GROUP2 FOREIGN KEY (GROUP_ID) - REFERENCES DM_GROUP (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -)ENGINE = InnoDB; - --- END OF DEVICE GROUP TABLES -- - - --- NOTIFICATION TABLES -- - -CREATE TABLE IF NOT EXISTS DM_NOTIFICATION ( - NOTIFICATION_ID INTEGER AUTO_INCREMENT NOT NULL, +-- NOTIFICATION TABLE -- +CREATE TABLE DM_NOTIFICATION ( + NOTIFICATION_ID INTEGER IDENTITY(1,1) NOT NULL, DEVICE_ID INTEGER NOT NULL, OPERATION_ID INTEGER NOT NULL, TENANT_ID INTEGER NOT NULL, STATUS VARCHAR(10) NULL, DESCRIPTION VARCHAR(100) NULL, PRIMARY KEY (NOTIFICATION_ID), - CONSTRAINT fk_dm_device_notification FOREIGN KEY (DEVICE_ID) REFERENCES + CONSTRAINT FL_DM_NOTIFICATION FOREIGN KEY (DEVICE_ID) REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT fk_dm_operation_notification FOREIGN KEY (OPERATION_ID) REFERENCES + CONSTRAINT FK_DM_OPERATION_NOTIFICATION FOREIGN KEY (OPERATION_ID) REFERENCES DM_OPERATION (ID) ON DELETE NO ACTION ON UPDATE NO ACTION -)ENGINE = InnoDB; - --- END NOTIFICATION TABLES -- - - -DROP TABLE IF EXISTS DM_DEVICE_INFO; - -CREATE TABLE IF NOT EXISTS DM_DEVICE_INFO ( - ID INTEGER AUTO_INCREMENT NOT NULL, - DEVICE_ID INT NULL, - KEY_FIELD VARCHAR(45) NULL, - VALUE_FIELD VARCHAR(100) NULL, - PRIMARY KEY (ID), - INDEX DM_DEVICE_INFO_DEVICE_idx (DEVICE_ID ASC), - CONSTRAINT DM_DEVICE_INFO_DEVICE - FOREIGN KEY (DEVICE_ID) - REFERENCES DM_DEVICE (ID) - ON DELETE NO ACTION - ON UPDATE NO ACTION -) -ENGINE = InnoDB; - - - -DROP TABLE IF EXISTS DM_DEVICE_LOCATION; - -CREATE TABLE IF NOT EXISTS DM_DEVICE_LOCATION ( - ID INTEGER AUTO_INCREMENT NOT NULL, - DEVICE_ID INT NULL, - LATITUDE DOUBLE NULL, - LONGITUDE DOUBLE NULL, - STREET1 VARCHAR(45) NULL, - STREET2 VARCHAR(45) NULL, - CITY VARCHAR(45) NULL, - ZIP VARCHAR(10) NULL, - STATE VARCHAR(45) NULL, - COUNTRY VARCHAR(45) NULL, - UPDATE_TIMESTAMP BIGINT(15) NOT NULL, - PRIMARY KEY (ID), - INDEX DM_DEVICE_LOCATION_DEVICE_idx (DEVICE_ID ASC), - CONSTRAINT DM_DEVICE_LOCATION_DEVICE - FOREIGN KEY (DEVICE_ID) - REFERENCES DM_DEVICE (ID) - ON DELETE NO ACTION - ON UPDATE NO ACTION -) -ENGINE = InnoDB; - -DROP TABLE IF EXISTS DM_DEVICE_DETAIL ; - -CREATE TABLE IF NOT EXISTS DM_DEVICE_DETAIL ( - ID INT NOT NULL AUTO_INCREMENT, - DEVICE_ID INT NOT NULL, - DEVICE_MODEL VARCHAR(45) NULL, - VENDOR VARCHAR(45) NULL, - OS_VERSION VARCHAR(45) NULL, - OS_BUILD_DATE VARCHAR(100) NULL, - BATTERY_LEVEL DECIMAL(4) NULL, - INTERNAL_TOTAL_MEMORY DECIMAL(30,3) NULL, - INTERNAL_AVAILABLE_MEMORY DECIMAL(30,3) NULL, - EXTERNAL_TOTAL_MEMORY DECIMAL(30,3) NULL, - EXTERNAL_AVAILABLE_MEMORY DECIMAL(30,3) NULL, - CONNECTION_TYPE VARCHAR(10) NULL, - SSID VARCHAR(45) NULL, - CPU_USAGE DECIMAL(5) NULL, - TOTAL_RAM_MEMORY DECIMAL(30,3) NULL, - AVAILABLE_RAM_MEMORY DECIMAL(30,3) NULL, - PLUGGED_IN INT(1) NULL, - UPDATE_TIMESTAMP BIGINT(15) NOT NULL, - PRIMARY KEY (ID), - INDEX FK_DM_DEVICE_DETAILS_DEVICE_idx (DEVICE_ID ASC), - CONSTRAINT FK_DM_DEVICE_DETAILS_DEVICE - FOREIGN KEY (DEVICE_ID) - REFERENCES DM_DEVICE (ID) - ON DELETE NO ACTION - ON UPDATE NO ACTION) -ENGINE = InnoDB; - --- POLICY AND DEVICE GROUP MAPPING -- - -CREATE TABLE IF NOT EXISTS DM_DEVICE_GROUP_POLICY ( - ID INT NOT NULL AUTO_INCREMENT, - DEVICE_GROUP_ID INT NOT NULL, - POLICY_ID INT NOT NULL, - TENANT_ID INT NOT NULL, - PRIMARY KEY (ID), - CONSTRAINT FK_DM_DEVICE_GROUP_POLICY - FOREIGN KEY (DEVICE_GROUP_ID) - REFERENCES DM_GROUP (ID) - ON DELETE NO ACTION - ON UPDATE NO ACTION, - CONSTRAINT FK_DM_DEVICE_GROUP_DM_POLICY - FOREIGN KEY (POLICY_ID) - REFERENCES DM_POLICY (ID) - ON DELETE NO ACTION - ON UPDATE NO ACTION -)ENGINE = InnoDB; - --- END OF POLICY AND DEVICE GROUP MAPPING -- - --- DASHBOARD RELATED VIEWS -- - -CREATE VIEW DEVICE_INFO_VIEW AS -SELECT -DM_DEVICE.ID AS DEVICE_ID, -DM_DEVICE.DEVICE_IDENTIFICATION, -DM_DEVICE_TYPE.NAME AS PLATFORM, -DM_ENROLMENT.OWNERSHIP, -DM_ENROLMENT.STATUS AS CONNECTIVITY_STATUS, -DM_DEVICE.TENANT_ID -FROM DM_DEVICE, DM_DEVICE_TYPE, DM_ENROLMENT -WHERE DM_DEVICE.DEVICE_TYPE_ID = DM_DEVICE_TYPE.ID AND DM_DEVICE.ID = DM_ENROLMENT.DEVICE_ID; - -CREATE VIEW DEVICE_WITH_POLICY_INFO_VIEW AS -SELECT -DEVICE_ID, -POLICY_ID, -STATUS AS IS_COMPLIANT -FROM DM_POLICY_COMPLIANCE_STATUS; - -CREATE VIEW POLICY_COMPLIANCE_INFO AS -SELECT -DEVICE_INFO_VIEW.DEVICE_ID, -DEVICE_INFO_VIEW.DEVICE_IDENTIFICATION, -DEVICE_INFO_VIEW.PLATFORM, -DEVICE_INFO_VIEW.OWNERSHIP, -DEVICE_INFO_VIEW.CONNECTIVITY_STATUS, -IFNULL(DEVICE_WITH_POLICY_INFO_VIEW.POLICY_ID, -1) AS POLICY_ID, -IFNULL(DEVICE_WITH_POLICY_INFO_VIEW.IS_COMPLIANT, -1) AS IS_COMPLIANT, -DEVICE_INFO_VIEW.TENANT_ID -FROM -DEVICE_INFO_VIEW -LEFT JOIN -DEVICE_WITH_POLICY_INFO_VIEW -ON DEVICE_INFO_VIEW.DEVICE_ID = DEVICE_WITH_POLICY_INFO_VIEW.DEVICE_ID -ORDER BY DEVICE_INFO_VIEW.DEVICE_ID; - -CREATE VIEW FEATURE_NON_COMPLIANCE_INFO AS -SELECT -DM_DEVICE.ID AS DEVICE_ID, -DM_DEVICE.DEVICE_IDENTIFICATION, -DM_DEVICE_DETAIL.DEVICE_MODEL, -DM_DEVICE_DETAIL.VENDOR, -DM_DEVICE_DETAIL.OS_VERSION, -DM_ENROLMENT.OWNERSHIP, -DM_ENROLMENT.OWNER, -DM_ENROLMENT.STATUS AS CONNECTIVITY_STATUS, -DM_POLICY_COMPLIANCE_STATUS.POLICY_ID, -DM_DEVICE_TYPE.NAME AS PLATFORM, -DM_POLICY_COMPLIANCE_FEATURES.FEATURE_CODE, -DM_POLICY_COMPLIANCE_FEATURES.STATUS AS IS_COMPLAINT, -DM_DEVICE.TENANT_ID -FROM -DM_POLICY_COMPLIANCE_FEATURES, DM_POLICY_COMPLIANCE_STATUS, DM_ENROLMENT, DM_DEVICE, DM_DEVICE_TYPE, DM_DEVICE_DETAIL -WHERE -DM_POLICY_COMPLIANCE_FEATURES.COMPLIANCE_STATUS_ID = DM_POLICY_COMPLIANCE_STATUS.ID AND -DM_POLICY_COMPLIANCE_STATUS.ENROLMENT_ID = DM_ENROLMENT.ID AND -DM_POLICY_COMPLIANCE_STATUS.DEVICE_ID = DM_DEVICE.ID AND -DM_DEVICE.DEVICE_TYPE_ID = DM_DEVICE_TYPE.ID AND -DM_DEVICE.ID = DM_DEVICE_DETAIL.DEVICE_ID -ORDER BY TENANT_ID, DEVICE_ID; - --- END OF DASHBOARD RELATED VIEWS -- +); +-- NOTIFICATION TABLE END --