Application migration fails during SDO regeneration

Application migration fails during SDO regeneration from a lower WebSphere Commerce Version 7 fix pack to higher WebSphere Commerce Version 7 fix pack.

Problem

When fix packs are applied, any custom physical SDO classes are automatically regenerated. Automatic regeneration reduces the possibility of the custom SDO classes becoming incompatible with the updated WebSphere Commerce components that they extend. However, the automatic regeneration of your customized SDO can fail in some unexpected situations.

The migration ANT task fails with the following message:
isSkipSDO:

-RegenerateSDOSInServer:
   [echoNL] Start to build RegenerateSDOs.xml
     [echo] dbType:db2

-deftasks:

-CustomizationDetection:
     [echo] componentlist:catalog,content,infrastructure,marketing,member,pricecontractorder,promotion
[wcimDetectSDOCustomTask] dirC:\IBM\COMMER~1\migration\components\component-services\sdo\eclipse\DOCUME~1ADMINI~1LOCALS~1Temp1wcupdateWC_demo\xml\config
[wcimDetectSDOCustomTask] componentList:7
[wcimDetectSDOCustomTask] subcomponenets=[com.ibm.commerce.catalog-ext, com.ibm.commerce.content-ext, com.ibm.commerce.infrastructure-ext, com.ibm.commerce.marketing-ext, com.ibm.commerce.member-ext, com.ibm.commerce.price-ext, com.ibm.commerce.contract-ext, com.ibm.commerce.order-ext, com.ibm.commerce.promotion-ext]
[wcimDetectSDOCustomTask] CustomizationDirs=null
     [echo] [wcimDetectSDOCustomTask] isCustomized:false

-SDOCodeDetection:

-GenerateSDOSInServer:
BUILD FAILED

Solution

If you can determine why your custom SDO regeneration failed, correct the problem and rerun the fix pack upgrade.

Alternatively, you can manually regenerate the SDO classes by performing the following steps:
  1. WebSphere Commerce DeveloperOn WebSphere Commerce Developer, before applying the fix pack to your instance:
    1. Create the following properties file: WCDE_installdir/temp/skipRegenSDO.properties
    2. Add the following line to the skipRegenSDO.properties file:
      skipRegenSDO=true
      
  2. WebSphere Commerce DeveloperOn WebSphere Commerce Developer, manually regenerate the physical SDO classes for your customization extension, using the Data Service Layer Wizard.
  3. On the WebSphere Commerce server, before applying the fix pack to your instance:
    1. Create the following properties file: WC_installdir/temp/skipRegenSDO.properties
    2. Add the following line to the skipRegenSDO.properties file:
      skipRegenSDO=true
      
  4. Deploy the physical SDO classes that you regenerated in WebSphere Commerce Developer to your production environment.
    Note: Make sure that you have successfully regenerated your custom physical SDO classes before you to start the WebSphere Commerce Server.