-- NEVER UPDATE THE MASTER - this happens automatically

-- This needs to be kept consistent.  This is the current version of the database
##BeginVersionInfo
<?xml version="1.0" encoding="utf-8"?>
<DatabaseVersionInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    
    <!-- WARNING: Make sure these values are consistent to what is inserted in the Version table -->    
    <!-- When a new database comes out, increment this version -->
    <CurrentVersion>5.0.1.016</CurrentVersion>
    <!-- If older versions of the UI can't work with this DB, increment this version -->
    <MinRequiredUIVersion>6.1.0.0</MinRequiredUIVersion>
    <!-- If the new DB version requires changes to the LPS binaries or schemas, increment this version -->
    <MinRequiredLPSVersion>5.1.004</MinRequiredLPSVersion>
    <!-- If we can't alter the database anymore, we need to reset this to match the updatable version in the alter script -->
    <MinUpdatableDBVersion>5.0.1.014</MinUpdatableDBVersion>
</DatabaseVersionInfo>  
##EndVersionInfo

##BeginMigrateSection
-- This must always be the first line in any update section
##Version 5.0.1.016

-- dbo.Agent
-- dbo.Agent_DCP_DataService
-- dbo.Data_Collection_Package
-- dbo.Data_Service
-- dbo.DCP_Status

-- dbo.Application_Instances
-- dbo.Apps_Deployment_Status

-- dbo.Architecture_Preferences
-- dbo.Client_State_Details
-- dbo.Providers
-- dbo.Categories
-- dbo.SubCategories

-- dbo.Computer_Report

-- dbo.Deployment_Enabled_OS
-- dbo.Deployment_OS
-- dbo.OS
-- dbo.Deployment_Status

-- dbo.Application_Rating
-- dbo.Appication_Votes
-- dbo.Device_Rating

-- dbo.DeviceType
-- dbo.PropertyType
-- dbo.IndicatorType
-- dbo.IssueType

-- dbo.EventCategory
-- dbo.EventType
-- dbo.GeneralFeedback_Report
-- dbo.TimelineEvents
-- dbo.UserMachine
-- dbo.Users

-- dbo.trace_db
-- dbo.Trace_tbl

-- dbo.Issue_Affects_OS
-- dbo.Issues
-- dbo.Issues_Associated_With_App
-- dbo.Issues_Associated_With_Url
-- dbo.IssueSolution
-- dbo.Solution
-- dbo.IssueType
-- dbo.Localized_Issue
-- dbo.Localized_Solution

-- dbo.Mitigation_Package
-- dbo.MitigationPkg_AppFix
-- dbo.MitigationPkg_WebsiteFix
-- dbo.Website_Fix

-- Populate Machines table with relevant data
INSERT INTO [NewAct].[dbo].[Machines]
SELECT *
FROM [OldAct].[dbo].[Machines] 
GO

-- Populate Applications 
SET IDENTITY_INSERT [NewAct].[dbo].[Applications] ON
GO
INSERT INTO [NewAct].[dbo].[Applications] 
(appIdentity, appID, programID, memberOf, partial_key_hash, attrib_match_string, Type, 
appName, componentType, vendorName, version, language, osComponent, priority, 
timeFound, checksum, computerCount, createdDate, lastSyncTime)
SELECT *
FROM [OldAct].[dbo].[Applications] app
GO
SET IDENTITY_INSERT [NewAct].[dbo].[Applications] OFF
GO

-- Populate Application_Groups table with relevant data
INSERT INTO [NewAct].[dbo].[Application_Groups]
SELECT *
FROM [OldAct].[dbo].[Application_Groups] app
GO

-- Populate App_Installed_On_Machine
INSERT INTO [NewAct].[dbo].[App_Installed_On_Machine]
SELECT *
FROM [OldAct].[dbo].[App_Installed_On_Machine]
GO

-- Popultate Application_Fix
INSERT INTO [NewAct].[dbo].[Application_Fix]
SELECT *
FROM [OldAct].[dbo].[Application_Fix]
GO

-- Populate application indicators
INSERT INTO [NewAct].[dbo].[Application_Indicators]
SELECT * 
FROM [OldAct].[dbo].[Application_Indicators]
GO

-- Populate application instances
INSERT INTO [NewAct].[dbo].[Application_Instances]
SELECT * 
FROM [OldAct].[dbo].[Application_Instances]
GO

-- Populate application rating
INSERT INTO [NewAct].[dbo].[Application_Rating]
SELECT * 
FROM [OldAct].[dbo].[Application_Rating]
GO

-- Populate Application_Votes
INSERT INTO [NewAct].[dbo].[Application_Votes]
SELECT * 
FROM [OldAct].[dbo].[Application_Votes]
GO

-- Populate Apps_Deployment_Status
INSERT INTO [NewAct].[dbo].[Apps_Deployment_Status]
SELECT * 
FROM [OldAct].[dbo].[Apps_Deployment_Status] 
GO

-- Populate Categories
DELETE FROM [NewAct].[dbo].[Categories]
GO
SET IDENTITY_INSERT [NewAct].[dbo].[Categories] ON
GO
INSERT INTO [NewAct].[dbo].[Categories] (categoryId, category)
SELECT *
FROM [OldAct].[dbo].[Categories] 
GO
SET IDENTITY_INSERT [NewAct].[dbo].[Categories] OFF
GO

-- Populate SubCategories
DELETE FROM [NewAct].[dbo].[SubCategories]
GO
SET IDENTITY_INSERT [NewAct].[dbo].[SubCategories] ON
GO
INSERT INTO [NewAct].[dbo].[SubCategories] (categoryId, subCategoryId, subCategory)
SELECT *
FROM [OldAct].[dbo].[SubCategories]
GO
SET IDENTITY_INSERT [NewAct].[dbo].[SubCategories] OFF
GO

-- Populate Categorized_Applications
INSERT INTO [NewAct].[dbo].[Categorized_Applications]
SELECT *
FROM [OldAct].[dbo].[Categorized_Applications] 
GO

-- Populate Categorized_Devices
INSERT INTO [NewAct].[dbo].[Categorized_Devices]
SELECT * 
FROM [OldAct].[dbo].[Categorized_Devices]
GO

-- Populate Categorized_Machines
INSERT INTO [NewAct].[dbo].[Categorized_Machines]
SELECT *
FROM [OldAct].[dbo].[Categorized_Machines] 
GO

-- Populate Categorized_WebSites
INSERT INTO [NewAct].[dbo].[Categorized_WebSites]
SELECT *
FROM [OldAct].[dbo].[Categorized_WebSites] 
GO

-- Populate Device_Rating
INSERT INTO [NewAct].[dbo].[Data_Collection_Package]
SELECT *
FROM [OldAct].[dbo].[Data_Collection_Package] 
GO

-- Populate Data_Service
INSERT INTO [NewAct].[dbo].[Data_Service]
SELECT *
FROM [OldAct].[dbo].[Data_Service] 
GO

-- Populate DCP_Data_Service
INSERT INTO [NewAct].[dbo].[DCP_Data_Service]
SELECT *
FROM [OldAct].[dbo].[DCP_Data_Service] 
GO

-- Populate Device_Rating
INSERT INTO [NewAct].[dbo].[Device_Rating]
SELECT *
FROM [OldAct].[dbo].[Device_Rating] 
GO

-- Populate Device_Report
INSERT INTO [NewAct].[dbo].[Device_Report]
SELECT *
FROM [OldAct].[dbo].[Device_Report] 
GO

-- Populate Devices
INSERT INTO [NewAct].[dbo].[Devices]
SELECT * 
FROM [OldAct].[dbo].[Devices]
GO

 -- Populate File_Opens_Url
INSERT INTO [NewAct].[dbo].[File_Opens_Url] 
SELECT app.ieceUrlPath, app.priority
FROM [OldAct].[dbo].[File_Opens_Url] app
GO

 -- Populate GeneralFeedback_Report
INSERT INTO [NewAct].[dbo].[GeneralFeedback_Report] 
SELECT * 
FROM [OldAct].[dbo].[GeneralFeedback_Report]
GO


-- Populate IPAddress-Machine
INSERT INTO [NewAct].[dbo].[IPAddress_Machine]
SELECT *
FROM [OldAct].[dbo].[IPAddress_Machine] 
GO

-- Populate Issues_Associated_With_App
INSERT INTO [NewAct].[dbo].[Issues_Associated_With_App]
SELECT *
FROM [OldAct].[dbo].[Issues_Associated_With_App] 
GO

-- Populate Issues_Associated_With_Url
INSERT INTO [NewAct].[dbo].[Issues_Associated_With_Url]
SELECT *
FROM [OldAct].[dbo].[Issues_Associated_With_Url] 
GO

-- Populate IssueSolution
INSERT INTO [NewAct].[dbo].[IssueSolution]
SELECT *
FROM [OldAct].[dbo].[IssueSolution] 
GO

-- Populate Localized_Solution
INSERT INTO [NewAct].[dbo].[Localized_Solution]
SELECT *
FROM [OldAct].[dbo].[Localized_Solution] 
GO

-- Populate LPS_Status
INSERT INTO [NewAct].[dbo].[LPS_Status]
SELECT *
FROM [OldAct].[dbo].[LPS_Status] 
GO

-- Populate Machines_Devices
INSERT INTO [NewAct].[dbo].[Machines_Devices]
SELECT *
FROM [OldAct].[dbo].[Machines_Devices] 
GO

 -- Populate PNP device tables
INSERT INTO [NewAct].[dbo].[PnPDevice]
SELECT * 
FROM [OldAct].[dbo].[PnPDevice]
GO

INSERT INTO [NewAct].[dbo].[PnPDevice_Installed_Driver]
SELECT * 
FROM [OldAct].[dbo].[PnPDevice_Installed_Driver]
GO

INSERT INTO [NewAct].[dbo].[PnPDevice_PnPID]
SELECT * 
FROM [OldAct].[dbo].[PnPDevice_PnPID]
GO

INSERT INTO [NewAct].[dbo].[PnPDevice_Machines]
SELECT *
FROM [OldAct].[dbo].[PnPDevice_Machines] 
GO

-- Populate PNP device Solution
INSERT INTO [NewAct].[dbo].[Solution]
SELECT *
FROM [OldAct].[dbo].[Solution]
GO

-- Tagging related

INSERT INTO [NewAct].[dbo].[Tagged_Machines]
SELECT *
FROM [OldAct].[dbo].[Tagged_Machines] 
GO

INSERT INTO [NewAct].[dbo].[Tagged_Applications]
SELECT *
FROM [OldAct].[dbo].[Tagged_Applications] 
GO 

INSERT INTO [NewAct].[dbo].[Unmatched_AppIds]
SELECT * 
FROM [OldAct].[dbo].[Unmatched_AppIds] 
GO

-- Populate Users
SET IDENTITY_INSERT [NewAct].[dbo].[Users] ON
GO
INSERT INTO [NewAct].[dbo].[Users] (userID, userName)
SELECT *
FROM [OldAct].[dbo].[Users]
GO
SET IDENTITY_INSERT [NewAct].[dbo].[Users] OFF
GO

-- Populate UserMachine
SET IDENTITY_INSERT [NewAct].[dbo].[UserMachine] ON
GO
INSERT INTO [NewAct].[dbo].[UserMachine] (userMachineID, userID, machineID, osID)
SELECT *
FROM [OldAct].[dbo].[UserMachine]
GO
SET IDENTITY_INSERT [NewAct].[dbo].[UserMachine] OFF
GO

-- Populate Website_Fix
INSERT INTO [NewAct].[dbo].[Website_Fix]
SELECT *
FROM [OldAct].[dbo].[Website_Fix]
GO

-- Populate TimeLineEvents
SET IDENTITY_INSERT [NewAct].[dbo].[TimeLineEvents] ON
GO
INSERT INTO [NewAct].[dbo].[TimeLineEvents] (timeLineEventID,
											timeLineCategory,
											timeLineEventType,
											appIdentity,
											timeLineEventDescription,
											issueID,
											issueType,
											userMachineId,
											propertyDateModified,
											eventTimeStamp,
											ieceUrlName,
											ieceUrlPath,
											ieceUrlZone,
											ieceMitigationCode,
											ieceCategoryID,
											ieceFileName,
											ieceCacheFileName,
											ieceHttpHeadCT,
											ieceHttpHeadCD,
											ieceCalcMimeType,
											ieceCFExtProgID,
											ieceCLSIDMimeH,
											ieceCLSIDExtH,
											ieceMHProgId,
											ieceWindowCommand,
											ieceWindowsParam,
											ieceTargetURL,
											ieceTargetZone,
											ieceFailureMode,
											ieceLoadingUrl,
											ieceBhvrUrl,
											ieceRestrictBeh,
											ieceControlURL,
											ieceBlockReason,
											ieceCLSID,
											ieceSignedBy,
											ieceSignature_Error,
											iecePublisher,
											ieceLocal_Control_Path,
											ieceLocal_Control_Signature,
											ieceControlZone,
											iecePopupUrl,
											iecePopupFlags,
											ieceDLFile,
											ieceRestrictedAction,
											ieceReason,
											ieceNewURI,
											ieceOldURI,
											iecePunyCodeHost,
											ieceBlockedURL,
											ieceSecurityProblem,
											ieceScriptURL,
											ieceModuleName,
											ieceVirtualizationAction,
											ieceObjectType,
											ieceAPIName,
											ieceReqObjectPath,
											ieceNewObjectPath,
											ieceAPIResult,
											ieceLastError,
											ieceControlGuid,
											ieceControlPublisher,
											ieceControlName,
											ieceTargetFrameName,
											ieceCSSFix,
											ieceCSSInformation,
											ieceExtensionType,
											ieceInfo,
											ieceError,
											ieceAXKill,
											ieceSignature,
											ieceControlUpgrade,
											ieceControlUpgradePath,
											ieceControlUpgradePublisher,
											ieceControlUpgradeSignature,
											pcaExePath,
											pcaScenarioId,
											pcaUserAction,
											pcaCompatibilityLayer,
											werExePath,
											suaExePath,
											suaApiName,
											suaMessage,
											suaShimName,
											suaShimParam,
											suaShimEnabled,
											shimExePath,
											shimFixName,
											shimFixId,
											shimFlags,
											shimParams,
											shimFileVersion,
											shimProductVersion,
											shimCompanyName,
											shimProductName,
											shimLanguage,
											shimExeBitness,
											feedbackRating,
											feedbackTitle,
											feedbackDetails,
											feedbackAttachedFile,
											psrDescription,
											psrExePath,
											LastUpdatedDateTime)
SELECT *
FROM [OldAct].[dbo].[TimeLineEvents]
GO
SET IDENTITY_INSERT [NewAct].[dbo].[TimeLineEvents] OFF
GO

##EndMigrateSection