Details
-
Type: Bug
-
Status: Done/Fixed
-
Priority: Minor
-
Resolution: Fixed/Completed
-
Affects Version/s: 4.2.8
-
Fix Version/s: 4.2.9
-
Component/s: Core CiviCRM
-
Labels:None
Description
The 4.2 upgrade fails with fatal DB error from createPriceSet call on line 376 IF option_group rows are present with this pattern in the name column:
civicrm_price_field.amount.*
The problem was reported on this forum post:
http://forum.civicrm.org/index.php/topic,27744.msg118748.html#msg118748
Looks like the problem condition was caused by a uncaught failure to execute deletion of this type of option_group row (should have been deleted by CRM_Upgrade_ThreeThree::upgrade_3_3_beta1)
We do not know how prevalent the problem is, so for now the solution is:
1. Add a test to verifyPreDBState for the presence of row(s) in civicrm_option_group WHERE name LIKE 'civicrm_price_field.amount.%'
2. If found, we abort the upgrade with the following error message:
"We found unexpected data values from an older version of CiviCRM in your database. The upgrade can not be run until this condition is corrected.
Details: One or more rows are present in the civicrm_option_group with name like 'civicrm_price_field.amount.%'. <a href="%1">Check here for information on diagnosing and correcting this problem.</a>"
(%1 links to the above forum post.)