Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-5671

Upgrade procedure should use only SQL and not PHP functions

    Details

    • Type: Bug
    • Status: Done/Fixed
    • Priority: Critical
    • Resolution: Won't Fix
    • Affects Version/s: 2.2.9, 3.0, 3.0.1, 3.0.2, 3.0.3, 3.1
    • Fix Version/s: None
    • Component/s: Core CiviCRM
    • Labels:
      None

      Description

      The upgrade procedure is a real nightmare. One major issue is that since the upgrade procedure calls PHP functions, which change from version to version, it is likely to break if you attempt to upgrade more than one version at a time. Take this example:

      CRM/Upgrade/TwoTwo/Form/Step3.php line 154

      require_once 'CRM/Core/OptionValue.php';
      $optionValues = array( );
      $grpParams['name'] = 'from_email_address';
      CRM_Core_OptionValue::getValues( $grpParams, $optionValues );

      This results in an error when run because the PHP is expecting a different schema on the civicrm_option_value table.

      Upgrading through each individual version is not realistic for sites that have a development->staging->production deployment strategy. Especially when there is extensive integration between CiviCRM and other applications that all needs to go through rigorous quality assurance checking for each deployment. And a production site that must keep downtime to a minimum.

      Right now I'm trying to decide whether to rewrite these in SQL as I encounter them, or do some sort of multi-stage deployment when I upgrade to a particular SVN revision, run the CiviCRM update, update to the next revision, run the CiviCRM update, etc. However that method will block anyone else from doing any development on any other part of the site while I get this all arranged and deployed (and I don't see how branching would help).

      The alternative is to just stay at 2.1 for the foreseeable future. But that prevents me from contributing to CiviCRM development. I'm guessing that this might be the option that the client chooses.

        Attachments

          Activity

            People

            • Assignee:
              lobo Donald A. Lobo
              Reporter:
              dalin dave hansen-lange
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: