Database Upgrade '{org}' Version 38 to Version 39 Failed
Description: When upgrading to MobileTech from an older version, some users have received the following error message:
Database upgrade '{org}' version 38 to version 39 failed:
************************************************************************
Exception: System.InvalidOperationException
Id: 0f9a60f4-3e80-4344-ad04-8b96f04c63d5
Message: Unable to update attribute 'resco_mobiledevice.resco_ownerid': Specified type 'UniqueIdentifier' does not match attribute 'resco_mobiledevice.resco_ownerid' type 'String'!
Source: XRMServer.Data
IMPORTANT
If you attempted to upgrade before performing these steps when it was required, it is advisable to restore rescoxrm_config and the {org}_RESCOXRM database(s) and start over.
Solution:
Step 1: Check for an Existing Issue of Previously Non-updated Resco Base Column Attributes
A type of 1 indicates the problem exists.
In SQL Server Management Studio, run the following against the {org}_RESCOXRM database:
select type from metadata$attribute where entityid = (select id from metadata$entity where name = 'resco_mobiledevice')
and name = 'resco_ownerid'
Step 2: Set the Metadata Attributes to What They Should Be
In SQL Server Management Studio, run the following against the {org}_RESCOXRM database:
/* Upgrade the table to good condition */
ALTER TABLE [resco_mobiledevice] ALTER COLUMN [resco_ownerid] UNIQUEIDENTIFIER
update metadata$attribute set type = 0 where entityid = (select id from metadata$entity where name = 'resco_mobiledevice') and name = 'resco_ownerid'
Step 3: Perform an IISRESET as an Administrator
To run the IISRESET:
Select the Windows Start icon.
In the search box, type cmd.
Right-click on cmd.exe and select Run as administrator.
At the command prompt, type IISRESET.
Press Enter.
When Internet services successfully restarted appears, type exit.
Press Enter.