Fix issues in migration-scripts

master
prathabanKavin 9 months ago
parent b331a63ebc
commit 5431587a8a

@ -1,3 +1,6 @@
BACKUP DATABASE bst_mdmdm_db TO DISK = N'/opt/entgra/dbdump/bst_mdmdm_db.bak' WITH NOFORMAT, NOINIT, NAME = N'BSTMDMDMDB-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
BACKUP DATABASE bst_mdmum_reg TO DISK = N'/opt/entgra/dbdump/bst_mdmum_reg.bak' WITH NOFORMAT, NOINIT, NAME = N'BSTMDMAPIM-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
-- BACKUP bst_mdmapim db
BACKUP DATABASE bst_mdmapim TO DISK = N'/opt/entgra/dbdump/bst_mdmapim.bak' WITH NOFORMAT, NOINIT, NAME = N'BSTMDMAPIM-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10;
@ -21,6 +24,8 @@ RESTORE DATABASE bst_tokendb FROM DISK = '/opt/entgra/dbdump/bst_token.bak' WITH
-- 01. Restore bst_mdmapim
RESTORE DATABASE bst_mdmapim FROM DISK = '/opt/entgra/dbdump/bst_mdmapim.bak' WITH MOVE 'bst_mdmapim' TO '/opt/entgra/dbdump/bst_mdmapim.mdf', MOVE 'bst_mdmapim_log' TO '/opt/entgra/dbdump/bst_mdmapim_log.ldf', NOUNLOAD, STATS = 5;
RESTORE DATABASE bst_mdmum_reg FROM DISK = '/opt/entgra/dbdump/bst_mdmum_reg.bak' WITH MOVE 'bst_mdmum_reg' TO '/opt/entgra/dbdump/bst_mdmum_reg.mdf', MOVE 'bst_mdmum_reg_log' TO '/opt/entgra/dbdump/bst_mdmum_reg_log.ldf', NOUNLOAD, STATS = 5;
RESTORE DATABASE bst_mdmdm_db FROM DISK = '/opt/entgra/dbdump/bst_mdmdm_db.bak' WITH MOVE 'bst_mdmdm_db' TO '/opt/entgra/dbdump/bst_mdmdm_db.mdf', MOVE 'bst_mdmdm_db_log' TO '/opt/entgra/dbdump/bst_mdmdm_db_log.ldf', NOUNLOAD, STATS = 5;
-- 02. drop all other tables /idp-restoration/drop-apim-tables.sql

@ -14,7 +14,6 @@ drop table SP_ROLE_MAPPING;
drop table AM_ALERT_TYPES_VALUES;
drop table SP_REQ_PATH_AUTHENTICATOR;
drop table AM_ALERT_EMAILLIST;
drop table AM_API_DEFAULT_VERSION;
drop table IDN_CLAIM_MAPPING;
drop table SP_PROVISIONING_CONNECTOR;
drop table AM_ALERT_EMAILLIST_DETAILS;

@ -4,12 +4,15 @@ USE bst_mdmapim;
ALTER TABLE IDP
ADD IMAGE_URL VARCHAR(1024),
UUID CHAR(36);
GO
-- Add a unique constraint on the UUID column
ALTER TABLE IDP
ADD CONSTRAINT UQ_IDP_UUID UNIQUE (UUID);
GO
-- Update the UUID column with unique values
UPDATE IDP
SET UUID = NEWID();
GO

@ -10,21 +10,19 @@ use bst_mdmdm_db;
-- Create temporary columns with the new data type
ALTER TABLE AP_APP_REVIEW
ADD TEMP_CREATED_AT BIGINT;
GO
ALTER TABLE AP_APP_REVIEW
ADD TEMP_MODIFIED_AT BIGINT;
-- Commit the first batch
GO
-- Update the temporary columns with the converted values
UPDATE AP_APP_REVIEW
SET TEMP_CREATED_AT = DATEDIFF(SECOND, '19700101', CREATED_AT);
GO
UPDATE AP_APP_REVIEW
SET TEMP_MODIFIED_AT = DATEDIFF(SECOND, '19700101', MODIFIED_AT);
-- Commit the second batch
GO
-- Drop the original columns
@ -33,21 +31,23 @@ DROP COLUMN CREATED_AT;
ALTER TABLE AP_APP_REVIEW
DROP COLUMN MODIFIED_AT;
-- Commit the third batch
GO
-- Rename the temporary columns to the original names
EXEC sp_rename 'AP_APP_REVIEW.TEMP_CREATED_AT', 'CREATED_AT', 'COLUMN';
GO
EXEC sp_rename 'AP_APP_REVIEW.TEMP_MODIFIED_AT', 'MODIFIED_AT', 'COLUMN';
GO
-- Add constraints back if needed
ALTER TABLE AP_APP_REVIEW
ALTER COLUMN CREATED_AT BIGINT NOT NULL;
GO
ALTER TABLE AP_APP_REVIEW
ALTER COLUMN MODIFIED_AT BIGINT NOT NULL;
GO
/*
AP_APP_LIFECYCLE_STATE
@ -55,36 +55,33 @@ ALTER COLUMN MODIFIED_AT BIGINT NOT NULL;
-- Create temporary columns with the new data type
ALTER TABLE AP_APP_LIFECYCLE_STATE
ADD TEMP_UPDATED_AT BIGINT;
-- Commit the first batch
GO
-- Update the temporary columns with the converted values
UPDATE AP_APP_LIFECYCLE_STATE
SET TEMP_UPDATED_AT = DATEDIFF(SECOND, '19700101', UPDATED_AT);
-- Commit the second batch
GO
-- Drop the original columns
ALTER TABLE AP_APP_LIFECYCLE_STATE
DROP COLUMN UPDATED_AT;
-- Commit the third batch
GO
-- Rename the temporary columns to the original names
EXEC sp_rename 'AP_APP_LIFECYCLE_STATE.TEMP_UPDATED_AT', 'UPDATED_AT', 'COLUMN';
GO
-- Add constraints back if needed
ALTER TABLE AP_APP_LIFECYCLE_STATE
ALTER COLUMN UPDATED_AT BIGINT NOT NULL;
GO
/*
Add constraint to AP_DEVICE_SUBSCRIPTION table
*/
ALTER TABLE AP_DEVICE_SUBSCRIPTION
ADD CONSTRAINT uq_AP_DEVICE_SUBSCRIPTION UNIQUE (DM_DEVICE_ID, AP_APP_RELEASE_ID);
GO
/*
AP_SCHEDULED_SUBSCRIPTION
@ -92,31 +89,26 @@ ADD CONSTRAINT uq_AP_DEVICE_SUBSCRIPTION UNIQUE (DM_DEVICE_ID, AP_APP_RELEASE_ID
-- Create temporary columns with the new data type
ALTER TABLE AP_SCHEDULED_SUBSCRIPTION
ADD TEMP_SCHEDULED_AT BIGINT;
-- Commit the first batch
GO
-- Update the temporary columns with the converted values
UPDATE AP_SCHEDULED_SUBSCRIPTION
SET TEMP_SCHEDULED_AT = DATEDIFF(SECOND, '19700101', SCHEDULED_AT);
-- Commit the second batch
GO
-- Drop the original columns
ALTER TABLE AP_SCHEDULED_SUBSCRIPTION
DROP COLUMN SCHEDULED_AT;
-- Commit the third batch
GO
-- Rename the temporary columns to the original names
EXEC sp_rename 'AP_SCHEDULED_SUBSCRIPTION.TEMP_SCHEDULED_AT', 'SCHEDULED_AT', 'COLUMN';
GO
-- Add constraints back if needed
ALTER TABLE AP_SCHEDULED_SUBSCRIPTION
ALTER COLUMN SCHEDULED_AT BIGINT NOT NULL;
GO
------
CREATE TABLE AP_IDENTITY_SERVER (
@ -131,6 +123,7 @@ CREATE TABLE AP_IDENTITY_SERVER (
TENANT_ID INT NOT NULL,
PRIMARY KEY(ID)
);
GO
CREATE TABLE AP_IS_SP_APP_MAPPING (
ID INTEGER NOT NULL IDENTITY,
@ -142,6 +135,7 @@ CREATE TABLE AP_IS_SP_APP_MAPPING (
CONSTRAINT AP_IS_SP_APP_MAPPING_AP_APP_ID_fk FOREIGN KEY (AP_APP_ID) REFERENCES AP_APP (ID),
CONSTRAINT AP_IS_SP_APP_MAPPING_AP_IDENTITY_SERVER_ID_fk FOREIGN KEY (IS_ID) REFERENCES AP_IDENTITY_SERVER (ID)
);
GO
CREATE TABLE AP_APP_FAVOURITES(
ID INTEGER NOT NULL IDENTITY,
@ -153,6 +147,7 @@ CREATE TABLE AP_APP_FAVOURITES(
FOREIGN KEY (AP_APP_ID)
REFERENCES AP_APP (ID)
);
GO
--uem 5.3.2.0 to uem 5.3.3.0
@ -170,6 +165,7 @@ CREATE TABLE AP_VPP_USER (
TEMP_PASSWORD VARCHAR(255) NULL,
PRIMARY KEY (ID)
);
GO
CREATE TABLE AP_ASSETS (
ID INT NOT NULL IDENTITY(1,1),
@ -187,6 +183,7 @@ CREATE TABLE AP_ASSETS (
SUPPORTED_PLATFORMS VARCHAR(255) NULL,
PRIMARY KEY (ID)
);
GO
CREATE TABLE AP_VPP_ASSOCIATION (
ID INT NOT NULL IDENTITY(1,1),
@ -201,3 +198,5 @@ CREATE TABLE AP_VPP_ASSOCIATION (
CONSTRAINT AP_VPP_ASSETS_fk FOREIGN KEY (ASSET_ID) REFERENCES AP_ASSETS (ID) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT AP_VPP_VPP_USER_fk FOREIGN KEY (USER_ID) REFERENCES AP_VPP_USER (ID) ON DELETE CASCADE ON UPDATE CASCADE
);
GO

@ -3,16 +3,19 @@ use bst_mdmdm_db;
-- iot 3.8.2 to iot 4.0.0 migration
ALTER TABLE DM_OPERATION
ADD OPERATION_DETAILS VARBINARY(MAX) DEFAULT NULL;
GO
ALTER TABLE DM_APPLICATION
ADD DEVICE_ID INTEGER NOT NULL,
ENROLMENT_ID INTEGER NOT NULL;
ADD DEVICE_ID INTEGER NOT NULL DEFAULT 0,
ENROLMENT_ID INTEGER NOT NULL DEFAULT 0;
GO
-- UPDATE DM_APPLICATION
-- SET DM_APPLICATION.DEVICE_ID = dest.DEVICE_ID, DM_APPLICATION.ENROLMENT_ID = dest.ENROLMENT_ID
-- FROM DM_APPLICATION
-- INNER JOIN DM_DEVICE_APPLICATION_MAPPING dest ON DM_APPLICATION.ID = dest.APPLICATION_ID
-- WHERE DM_APPLICATION.ID = dest.APPLICATION_ID;
UPDATE a
SET a.DEVICE_ID = dest.DEVICE_ID,
a.ENROLMENT_ID = dest.ENROLMENT_ID
FROM DM_APPLICATION a
INNER JOIN DM_DEVICE_APPLICATION_MAPPING dest ON a.ID = dest.APPLICATION_ID;
GO
ALTER TABLE DM_APPLICATION
ADD CONSTRAINT fk_dm_device_application
@ -23,9 +26,11 @@ ALTER TABLE DM_APPLICATION
ADD CONSTRAINT fk_dm_enrolment_application
FOREIGN KEY (ENROLMENT_ID) REFERENCES dbo.DM_ENROLMENT (ID)
ON DELETE NO ACTION ON UPDATE NO ACTION;
GO
ALTER TABLE DM_OPERATION
ADD ENABLED BIT NOT NULL DEFAULT 0;
GO
/*
DM_OPERATION
@ -40,18 +45,15 @@ ADD TEMP_CREATED_TIMESTAMP BIGINT;
ALTER TABLE DM_OPERATION
ADD TEMP_RECEIVED_TIMESTAMP BIGINT;
-- Commit the first batch
GO
-- Update the temporary columns with the converted values
UPDATE DM_OPERATION
SET TEMP_CREATED_TIMESTAMP = DATEDIFF(SECOND, '19700101', CREATED_TIMESTAMP);
GO
UPDATE DM_OPERATION
SET TEMP_RECEIVED_TIMESTAMP = DATEDIFF(SECOND, '19700101', RECEIVED_TIMESTAMP);
-- Commit the second batch
GO
-- Drop the original columns
@ -60,14 +62,13 @@ DROP COLUMN CREATED_TIMESTAMP;
ALTER TABLE DM_OPERATION
DROP COLUMN RECEIVED_TIMESTAMP;
-- Commit the third batch
GO
-- Rename the temporary columns to the original names
EXEC sp_rename 'DM_OPERATION.TEMP_CREATED_TIMESTAMP', 'CREATED_TIMESTAMP', 'COLUMN';
EXEC sp_rename 'DM_OPERATION.TEMP_RECEIVED_TIMESTAMP', 'RECEIVED_TIMESTAMP', 'COLUMN';
GO
-- Add constraints back if needed
ALTER TABLE DM_OPERATION
@ -75,6 +76,7 @@ ALTER COLUMN CREATED_TIMESTAMP BIGINT NOT NULL;
ALTER TABLE DM_OPERATION
ALTER COLUMN RECEIVED_TIMESTAMP BIGINT NULL;
GO
-- Drop tables not in 5.3.0
--DROP TABLE DM_CONFIG_OPERATION;
@ -86,10 +88,12 @@ ALTER COLUMN RECEIVED_TIMESTAMP BIGINT NULL;
-- iot 4.0.0 to iot 4.1.0 migration
ALTER TABLE DM_POLICY
ADD PAYLOAD_VERSION VARCHAR(45) DEFAULT NULL;
GO
ALTER TABLE DM_POLICY_CORRECTIVE_ACTION
ADD FEATURE_ID INTEGER DEFAULT NULL,
IS_REACTIVE BIT NOT NULL DEFAULT 0;
GO
CREATE TABLE DM_GEOFENCE (
ID INT IDENTITY NOT NULL,
@ -105,6 +109,7 @@ CREATE TABLE DM_GEOFENCE (
TENANT_ID INTEGER DEFAULT 0,
PRIMARY KEY (ID)
);
GO
CREATE TABLE DM_GEOFENCE_GROUP_MAPPING (
ID INT IDENTITY NOT NULL,
@ -116,6 +121,7 @@ CREATE TABLE DM_GEOFENCE_GROUP_MAPPING (
CONSTRAINT fk_dm_geofence_group_mapping_group FOREIGN KEY (GROUP_ID) REFERENCES
DM_GROUP (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
);
GO
CREATE TABLE DM_DEVICE_EVENT (
ID INT NOT NULL IDENTITY,
@ -126,6 +132,7 @@ CREATE TABLE DM_DEVICE_EVENT (
TENANT_ID INTEGER DEFAULT 0,
PRIMARY KEY (ID)
);
GO
CREATE TABLE DM_DEVICE_EVENT_GROUP_MAPPING (
ID INT NOT NULL IDENTITY,
@ -137,6 +144,7 @@ CREATE TABLE DM_DEVICE_EVENT_GROUP_MAPPING (
CONSTRAINT fk_dm_event_group_mapping_group FOREIGN KEY (GROUP_ID) REFERENCES
DM_GROUP (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
);
GO
CREATE TABLE DM_GEOFENCE_EVENT_MAPPING (
ID INT NOT NULL IDENTITY,
@ -148,6 +156,7 @@ CREATE TABLE DM_GEOFENCE_EVENT_MAPPING (
CONSTRAINT fk_dm_geofence_event_mapping_event FOREIGN KEY (EVENT_ID) REFERENCES
DM_DEVICE_EVENT (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
);
GO
/*
CREATE TABLE DM_EVENT_OPERATION_ASSIGNMENT_TASK (
@ -176,9 +185,11 @@ CREATE TABLE DM_BILLING (
CONSTRAINT fk_DM_BILLING_DM_DEVICE2 FOREIGN KEY (DEVICE_ID)
REFERENCES DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
);
GO
ALTER TABLE DM_ENROLMENT
ADD IS_TRANSFERRED TINYINT NOT NULL DEFAULT 0;
GO
CREATE TABLE DM_DEVICE_STATUS (
ID INTEGER IDENTITY(1,1) NOT NULL,
@ -193,9 +204,11 @@ CREATE TABLE DM_DEVICE_STATUS (
CONSTRAINT FK_DM_DEVICE_STATUS_ENROLMENT FOREIGN KEY (ENROLMENT_ID) REFERENCES
DM_ENROLMENT (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
);
GO
ALTER TABLE DM_DEVICE_INFO
ALTER COLUMN VALUE_FIELD VARCHAR(1500) NULL;
GO
-- uem 5.1.0 to uem 5.2.0
CREATE TABLE DM_TRACCAR_UNSYNCED_DEVICES (
@ -208,11 +221,13 @@ CREATE TABLE DM_TRACCAR_UNSYNCED_DEVICES (
TENANT_ID INTEGER DEFAULT 0,
PRIMARY KEY (ID)
);
GO
-- uem 5.2.0 to uem 5.3.0
ALTER TABLE DM_GROUP
ADD PARENT_GROUP_ID INTEGER DEFAULT 0,
PARENT_PATH VARCHAR(255) DEFAULT NULL;
GO
CREATE TABLE DM_APP_ICONS (
ID INTEGER IDENTITY(1,1) NOT NULL,
@ -223,31 +238,35 @@ CREATE TABLE DM_APP_ICONS (
TENANT_ID INTEGER NOT NULL,
PRIMARY KEY (ID)
);
GO
CREATE TABLE DM_DEVICE_SUB_TYPE (
TENANT_ID INT DEFAULT 0,
SUB_TYPE_ID VARCHAR(45) NOT NULL,
DEVICE_TYPE VARCHAR(25) NOT NULL,
DEVICE_TYPE VARCHAR(45) NOT NULL,
SUB_TYPE_NAME VARCHAR(45) NOT NULL,
TYPE_DEFINITION TEXT NOT NULL,
PRIMARY KEY (SUB_TYPE_ID,DEVICE_TYPE)
) ;
);
GO
CREATE TABLE SUB_OPERATION_TEMPLATE (
SUB_OPERATION_TEMPLATE_ID INTEGER IDENTITY(1,1),
OPERATION_DEFINITION VARCHAR(MAX) NOT NULL,
OPERATION_CODE varchar(100) NOT NULL,
SUB_TYPE_ID VARCHAR(45) NOT NULL,
DEVICE_TYPE VARCHAR(25) NOT NULL,
DEVICE_TYPE VARCHAR(45) NOT NULL,
CREATE_TIMESTAMP BIGINT NULL DEFAULT NULL,
UPDATE_TIMESTAMP BIGINT NULL DEFAULT NULL,
PRIMARY KEY (SUB_OPERATION_TEMPLATE_ID),
UNIQUE (SUB_TYPE_ID, OPERATION_CODE, DEVICE_TYPE),
CONSTRAINT fk_SUB_OPERATION_TEMPLATE_DM_DEVICE_SUB_TYPE FOREIGN KEY (SUB_TYPE_ID, DEVICE_TYPE) REFERENCES DM_DEVICE_SUB_TYPE (SUB_TYPE_ID, DEVICE_TYPE)
);
GO
ALTER TABLE DM_DEVICE_CERTIFICATE
ADD DEVICE_IDENTIFIER VARCHAR(300);
GO
--
IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_DEVICE_TYPE' AND OBJECT_ID = OBJECT_ID('DM_DEVICE_TYPE'))
@ -256,38 +275,47 @@ CREATE INDEX IDX_DEVICE_TYPE ON DM_DEVICE_TYPE (NAME, PROVIDER_TENANT_ID);
CREATE INDEX IDX_DEVICE_NAME ON DM_DEVICE_TYPE (NAME);
--IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_DEVICE_TYPE_DEVICE_NAME' AND OBJECT_ID = OBJECT_ID('DM_DEVICE_TYPE'))
CREATE INDEX IDX_DEVICE_TYPE_DEVICE_NAME ON DM_DEVICE_TYPE (ID, NAME);
GO
ALTER TABLE DM_ENROLMENT_OP_MAPPING
ADD OPERATION_CODE VARCHAR(50) NOT NULL,
INITIATED_BY VARCHAR(100) NULL,
TYPE VARCHAR(20) NOT NULL,
ADD INITIATED_BY VARCHAR(100) NULL,
DEVICE_ID INTEGER DEFAULT NULL,
DEVICE_TYPE VARCHAR(300) NOT NULL,
DEVICE_IDENTIFICATION VARCHAR(300) DEFAULT NULL,
TENANT_ID INTEGER DEFAULT 0;
GO
ALTER TABLE DM_ENROLMENT_OP_MAPPING
ADD OPERATION_CODE VARCHAR(50) NOT NULL DEFAULT 'OP_CODE',
TYPE VARCHAR(20) NOT NULL DEFAULT 'TYPE',
DEVICE_TYPE VARCHAR(300) NOT NULL DEFAULT 'DEVICE_TYPE';
GO
--IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_EN_OP_MAPPING_EN_ID_STATUS' AND OBJECT_ID = OBJECT_ID('DM_ENROLMENT_OP_MAPPING'))
CREATE INDEX IDX_EN_OP_MAPPING_EN_ID_STATUS ON DM_ENROLMENT_OP_MAPPING(ENROLMENT_ID, STATUS);
GO
-- Drop the default constraint
ALTER TABLE DM_DEVICE_OPERATION_RESPONSE
DROP CONSTRAINT DF__DM_DEVICE__OPERA__02FC7413;
GO
-- Add the new column
ALTER TABLE DM_DEVICE_OPERATION_RESPONSE
ADD IS_LARGE_RESPONSE BIT NOT NULL DEFAULT 0;
GO
-- Alter the existing column
ALTER TABLE DM_DEVICE_OPERATION_RESPONSE
ALTER COLUMN OPERATION_RESPONSE VARCHAR(1024) NULL;
ALTER COLUMN OPERATION_RESPONSE VARCHAR(MAX) NULL;
GO
-- Recreate the default constraint if needed
-- Make sure to replace 'default_value' with the actual default value you want to use
ALTER TABLE DM_DEVICE_OPERATION_RESPONSE
ADD CONSTRAINT DF__DM_DEVICE__OPERA__02FC7413 DEFAULT 'default_value' FOR OPERATION_RESPONSE;
GO
--IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_DM_RES_RT' AND OBJECT_ID = OBJECT_ID('DM_DEVICE_OPERATION_RESPONSE'))
CREATE INDEX IDX_DM_RES_RT ON DM_DEVICE_OPERATION_RESPONSE(RECEIVED_TIMESTAMP);
GO
CREATE TABLE DM_DEVICE_OPERATION_RESPONSE_LARGE (
ID INTEGER NOT NULL,
@ -302,21 +330,25 @@ CREATE TABLE DM_DEVICE_OPERATION_RESPONSE_LARGE (
CONSTRAINT FK_DM_EN_OP_MAP_RESPONSE_LARGE FOREIGN KEY (EN_OP_MAP_ID) REFERENCES
DM_ENROLMENT_OP_MAPPING (ID) ON DELETE NO ACTION ON UPDATE NO ACTION
);
GO
--IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_ENID_OPID_LARGE' AND OBJECT_ID = OBJECT_ID('DM_DEVICE_OPERATION_RESPONSE_LARGE'))
CREATE INDEX IDX_ENID_OPID_LARGE ON DM_DEVICE_OPERATION_RESPONSE_LARGE(OPERATION_ID);
--IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_DM_EN_OP_MAP_RES_LARGE' AND OBJECT_ID = OBJECT_ID('DM_DEVICE_OPERATION_RESPONSE_LARGE'))
CREATE INDEX IDX_DM_EN_OP_MAP_RES_LARGE ON DM_DEVICE_OPERATION_RESPONSE_LARGE(EN_OP_MAP_ID);
GO
--IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_DM_APPLICATION' AND OBJECT_ID = OBJECT_ID('DM_APPLICATION'))
CREATE INDEX IDX_DM_APPLICATION ON DM_APPLICATION(DEVICE_ID, ENROLMENT_ID, TENANT_ID);
GO
--IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_DM_DEVICE_INFO_DID_EID_KFIELD' AND OBJECT_ID = OBJECT_ID('DM_DEVICE_INFO'))
CREATE INDEX IDX_DM_DEVICE_INFO_DID_EID_KFIELD ON DM_DEVICE_INFO(DEVICE_ID, ENROLMENT_ID, KEY_FIELD);
--IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_DM_DEVICE_DETAIL_DID_EID' AND OBJECT_ID = OBJECT_ID('DM_DEVICE_DETAIL'))
CREATE INDEX IDX_DM_DEVICE_DETAIL_DID_EID ON DM_DEVICE_DETAIL(DEVICE_ID, ENROLMENT_ID);
GO
CREATE TABLE DM_METADATA (
METADATA_ID INTEGER IDENTITY(1,1) NOT NULL,
@ -327,6 +359,7 @@ CREATE TABLE DM_METADATA (
PRIMARY KEY (METADATA_ID),
CONSTRAINT METADATA_KEY_TENANT_ID UNIQUE(METADATA_KEY, TENANT_ID)
);
GO
CREATE TABLE DM_OTP_DATA (
ID INT IDENTITY NOT NULL,
@ -341,6 +374,7 @@ CREATE TABLE DM_OTP_DATA (
IS_EXPIRED BIT DEFAULT 0,
PRIMARY KEY (ID)
);
GO
CREATE TABLE DYNAMIC_TASK (
DYNAMIC_TASK_ID INTEGER IDENTITY(1,1) NOT NULL,
@ -351,6 +385,7 @@ CREATE TABLE DYNAMIC_TASK (
TENANT_ID INTEGER DEFAULT 0,
PRIMARY KEY (DYNAMIC_TASK_ID)
);
GO
CREATE TABLE DYNAMIC_TASK_PROPERTIES (
DYNAMIC_TASK_ID INTEGER NOT NULL,
@ -361,11 +396,13 @@ CREATE TABLE DYNAMIC_TASK_PROPERTIES (
CONSTRAINT FK_DYNAMIC_TASK_TASK_PROPERTIES FOREIGN KEY (DYNAMIC_TASK_ID) REFERENCES
DYNAMIC_TASK (DYNAMIC_TASK_ID) ON DELETE CASCADE ON UPDATE CASCADE
);
GO
-- uem 5.3.2.0 to uem 5.3.3.0
ALTER TABLE DM_OPERATION
ADD TENANT_ID INTEGER NOT NULL;
ADD TENANT_ID INTEGER NOT NULL DEFAULT 0;
GO
IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_OP_CREATED' AND OBJECT_ID = OBJECT_ID('DM_OPERATION'))
CREATE INDEX IDX_OP_CREATED ON DM_OPERATION(CREATED_TIMESTAMP);
@ -376,12 +413,15 @@ CREATE INDEX IDX_OP_INITIATED_BY ON DM_OPERATION(INITIATED_BY);
IF NOT EXISTS (SELECT * FROM SYS.INDEXES WHERE NAME = 'IDX_ENROLMENT_OP_MAPPING_CREATED_TS' AND OBJECT_ID = OBJECT_ID('DM_ENROLMENT_OP_MAPPING'))
CREATE INDEX IDX_ENROLMENT_OP_MAPPING_CREATED_TS ON DM_ENROLMENT_OP_MAPPING(CREATED_TIMESTAMP);
GO
ALTER TABLE DM_METADATA
ALTER COLUMN METADATA_VALUE TEXT NOT NULL;
GO
ALTER TABLE DM_OTP_DATA
ALTER COLUMN META_INFO VARCHAR(8000) NULL;
GO
IF NOT EXISTS (SELECT * FROM SYS.VIEWS WHERE NAME = 'FEATURE_NON_COMPLIANCE_INFO')
exec('CREATE VIEW FEATURE_NON_COMPLIANCE_INFO AS
@ -410,13 +450,20 @@ 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');
GO
/*
ALTER TABLE DM_DEVICE_SUB_TYPE
ALTER COLUMN DEVICE_TYPE VARCHAR(45) NOT NULL;
GO
*/
ALTER TABLE DM_DEVICE_SUB_TYPE
ALTER COLUMN SUB_TYPE_NAME VARCHAR(100) NOT NULL;
GO
/*
ALTER TABLE SUB_OPERATION_TEMPLATE
ALTER COLUMN DEVICE_TYPE VARCHAR(45) NOT NULL;
GO
*/

@ -1,9 +1,7 @@
use bst_mdmdm_db;
-- -----------------------------------------------------
-- Table `IOS_DEVICE`
-- -----------------------------------------------------
IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IOS_DEVICE]') AND TYPE IN (N'U'))
CREATE TABLE IOS_DEVICE (
MOBILE_DEVICE_ID VARCHAR(45) NOT NULL,
APNS_PUSH_TOKEN VARCHAR(100) NULL DEFAULT NULL,
@ -23,11 +21,11 @@ CREATE TABLE IOS_DEVICE (
LONGITUDE VARCHAR(45) NULL DEFAULT NULL,
PRIMARY KEY (MOBILE_DEVICE_ID)
);
GO
-- -----------------------------------------------------
-- Table `IOS_FEATURE`
-- -----------------------------------------------------
IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IOS_FEATURE]') AND TYPE IN (N'U'))
CREATE TABLE IOS_FEATURE (
ID INT NOT NULL IDENTITY,
CODE VARCHAR(45) NOT NULL,
@ -37,11 +35,11 @@ CREATE TABLE IOS_FEATURE (
DESCRIPTION VARCHAR(200) NULL,
PRIMARY KEY (ID)
);
GO
-- -----------------------------------------------------
-- Table `IOS_DEVICE_PROFILE`
-- -----------------------------------------------------
IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IOS_DEVICE_PROFILE]') AND TYPE IN (N'U'))
CREATE TABLE IOS_DEVICE_PROFILE (
ID INT NOT NULL IDENTITY,
OPERATION_ID VARCHAR(10) NOT NULL,
@ -51,11 +49,11 @@ CREATE TABLE IOS_DEVICE_PROFILE (
PROPERTIES VARCHAR(max) DEFAULT NULL,
PRIMARY KEY (ID)
);
GO
-- -----------------------------------------------------
-- Table `IOS_ENROLLMENT_TOKEN`
-- -----------------------------------------------------
IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IOS_ENROLLMENT_TOKEN]') AND TYPE IN (N'U'))
CREATE TABLE IOS_ENROLLMENT_TOKEN (
TENANT_DOMAIN VARCHAR(255) NOT NULL,
CHALLENGE_TOKEN VARCHAR(45) NOT NULL,
@ -68,11 +66,11 @@ CREATE TABLE IOS_ENROLLMENT_TOKEN (
UNIQUE (TENANT_DOMAIN, CHALLENGE_TOKEN),
PRIMARY KEY (CHALLENGE_TOKEN)
);
GO
-- -----------------------------------------------------
-- Table `IOS_DEP_PROFILE`
-- -----------------------------------------------------
IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IOS_DEP_PROFILE]') AND TYPE IN (N'U'))
CREATE TABLE IOS_DEP_PROFILE (
ID INT NOT NULL IDENTITY,
UUID VARCHAR(100) DEFAULT NULL,
@ -82,11 +80,11 @@ CREATE TABLE IOS_DEP_PROFILE (
UNIQUE (UUID),
PRIMARY KEY (ID)
);
GO
-- -----------------------------------------------------
-- Table `IOS_PRE_ENROLLED_DEVICE`
-- -----------------------------------------------------
IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[IOS_PRE_ENROLLED_DEVICE]') AND TYPE IN (N'U'))
CREATE TABLE IOS_PRE_ENROLLED_DEVICE (
ID INT NOT NULL IDENTITY,
SERIAL VARCHAR(45) DEFAULT NULL,
@ -114,6 +112,7 @@ CREATE TABLE IOS_PRE_ENROLLED_DEVICE (
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
GO
-- -----------------------------------------------------
-- IoT server 3.6.0 Changes
@ -122,3 +121,4 @@ ALTER TABLE IOS_DEVICE ADD USER_ID VARCHAR(50) DEFAULT NULL;
ALTER TABLE IOS_DEVICE ADD USER_LONG_NAME VARCHAR(500) DEFAULT NULL;
ALTER TABLE IOS_DEVICE ADD USER_SHORT_NAME VARCHAR(100) DEFAULT NULL;
ALTER TABLE IOS_DEVICE ADD USER_TOKEN VARCHAR(100) DEFAULT NULL;
GO

@ -20,6 +20,7 @@ CREATE TABLE WIN_DEVICE (
DEVICE_NAME VARCHAR(100) NULL DEFAULT NULL,
PRIMARY KEY (DEVICE_ID)
);
GO
-- -----------------------------------------------------
-- Table `WINDOWS_FEATURE`
@ -34,6 +35,7 @@ CREATE TABLE WIN_FEATURE (
DESCRIPTION VARCHAR(200) NULL,
PRIMARY KEY (ID)
);
GO
-- -----------------------------------------------------
-- Table `WINDOWS_ENROLLMENT_TOKEN`
@ -49,6 +51,7 @@ CREATE TABLE WINDOWS_ENROLLMENT_TOKEN (
OWNERSHIP VARCHAR (45) NULL DEFAULT NULL,
PRIMARY KEY (ID)
);
GO
IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[DBO].[WINDOWS_DEVICE_POLICY_MAPPING]') AND TYPE IN (N'U'))
CREATE TABLE WINDOWS_DEVICE_POLICY_MAPPING (
@ -58,3 +61,4 @@ CREATE TABLE WINDOWS_DEVICE_POLICY_MAPPING (
PAYLOAD VARBINARY(MAX) NULL DEFAULT NULL,
PRIMARY KEY (ID)
);
GO

@ -9,7 +9,7 @@ UPDATE REG_RESOURCE_COMMENT SET REG_RESOURCE_COMMENT.REG_PATH_ID=(SELECT REG_RES
UPDATE REG_RESOURCE_PROPERTY SET REG_RESOURCE_PROPERTY.REG_PATH_ID=(SELECT REG_RESOURCE.REG_PATH_ID FROM REG_RESOURCE WHERE REG_RESOURCE.REG_VERSION=REG_RESOURCE_PROPERTY.REG_VERSION);
UPDATE REG_RESOURCE_RATING SET REG_RESOURCE_RATING.REG_PATH_ID=(SELECT REG_RESOURCE.REG_PATH_ID FROM REG_RESOURCE WHERE REG_RESOURCE.REG_VERSION=REG_RESOURCE_RATING.REG_VERSION);
GO
-- SQLINES DEMO *** tags, were the PATH_ID will be null for older versions --
@ -28,6 +28,7 @@ delete from REG_TAG where REG_ID NOT IN (select REG_TAG_ID from REG_RESOURCE_TAG
delete from REG_COMMENT where REG_ID NOT IN (select REG_COMMENT_ID from REG_RESOURCE_COMMENT);
delete from REG_RATING where REG_ID NOT IN (select REG_RATING_ID from REG_RESOURCE_RATING);
GO
-- SQLINES DEMO *** TH_NAME column mapped with the REG_RESOURCE table --
@ -38,3 +39,4 @@ UPDATE REG_RESOURCE_PROPERTY SET REG_RESOURCE_PROPERTY.REG_RESOURCE_NAME=(SELECT
UPDATE REG_RESOURCE_COMMENT SET REG_RESOURCE_COMMENT.REG_RESOURCE_NAME=(SELECT REG_RESOURCE.REG_NAME FROM REG_RESOURCE WHERE REG_RESOURCE.REG_VERSION=REG_RESOURCE_COMMENT.REG_VERSION);
UPDATE REG_RESOURCE_RATING SET REG_RESOURCE_RATING.REG_RESOURCE_NAME=(SELECT REG_RESOURCE.REG_NAME FROM REG_RESOURCE WHERE REG_RESOURCE.REG_VERSION=REG_RESOURCE_RATING.REG_VERSION);
GO

@ -1,4 +1,4 @@
01. Backup bst_mdmapim
01. Backup bst_mdmum_reg, bst_mdmdm_db, bst_mdmapim
02. Create bst_token - IDN_OAUTH2_ACCESS_TOKEN table backup
Windows : use SSMS to backup
Ubuntu : follow instructions in /backup-restoration-scripts/bstapim-linux.sql

Loading…
Cancel
Save