Moodle
  1. Moodle
  2. MDL-34096

Add Moodle 2.3.0 upgrade line to all the upgrade.php scripts

    Details

    • Type: Task Task
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.2, 2.3
    • Fix Version/s: 2.2.1
    • Component/s: Installation
    • Labels:
    • Testing Instructions:
      Hide

      1) find . -name upgrade.php | xargs grep -B2 'return true;' check all upgrade scripts have at least one upgrade line. Exception : ./question/upgrade.php isn't about db upgrade.
      2) check that the 3 commands in the description of the issue return 0 files.
      3) rock on.

      Show
      1) find . -name upgrade.php | xargs grep -B2 'return true;' check all upgrade scripts have at least one upgrade line. Exception : ./question/upgrade.php isn't about db upgrade. 2) check that the 3 commands in the description of the issue return 0 files. 3) rock on.
    • Difficulty:
      Easy
    • Affected Branches:
      MOODLE_22_STABLE, MOODLE_23_STABLE
    • Fixed Branches:
      MOODLE_22_STABLE
    • Pull from Repository:
    • Pull Master Branch:
    • Rank:
      42404

      Description

      In order to have it properly detected for the future it would be great to add to all the upgrade.php scripts some lines like these:

      // Moodle v2.3.0 release upgrade line
      // Put any upgrade step following this
      

      exactly before the "return true;" present in all the scripts.

      I think it's ok to do that both in the 23_STABLE and master branches, so they will allow quickly find where 2.3.0 started and act once we decide future requirements.

      The change can be performed globally with:

      #!/bin/bash
      export rel="2.3.0" && find . -name upgrade.php | \
      xargs grep -l 'function.*xmldb_.*_upgrade' | \
      grep '/db/' | \
      xargs grep -L "Moodle v${rel} release upgrade" | \
      xargs perl -p -i -e 's@( *)(return true;)@\1// Moodle v$ENV{rel} release upgrade line\n\1// Put any upgrade step following this\n\n\n\1\2@s'
      

      Command to detect all the upgrade.php files not having those lines:

      find . -name upgrade.php | xargs grep -l 'function.*xmldb_.*_upgrade' | grep '/db/' | xargs grep -L 'Moodle v2.3.0 release upgrade'
      

      Commands to detect that we have not added the lines to incorrect files:

      grep -lr 'Moodle v2.3.0 release upgrade' * | grep -v '/db/'
      grep -lr 'Moodle v2.3.0 release upgrade' * | xargs grep -L 'function.*xmldb_.*_upgrade'
      

      Ciao

        Issue Links

          Activity

          Hide
          Eloy Lafuente (stronk7) added a comment -
          find . -name upgrade.php | \
          xargs grep -l 'function.*xmldb_.*_upgrade' | \
          grep '/db/' | \
          xargs grep -L 'Moodle v2.3.0 release upgrade' | \
          xargs perl -p -i -e 's@^( *)(return true;)@\1// Moodle v2.3.0 release upgrade line\n\1// Put any upgrade step following this\n\n\1\2@'
          

          seems to do the work ok.

          Show
          Eloy Lafuente (stronk7) added a comment - find . -name upgrade.php | \ xargs grep -l 'function.*xmldb_.*_upgrade' | \ grep '/db/' | \ xargs grep -L 'Moodle v2.3.0 release upgrade' | \ xargs perl -p -i -e 's@^( *)( return true ;)@\1 // Moodle v2.3.0 release upgrade line\n\1// Put any upgrade step following this \n\n\1\2@' seems to do the work ok.
          Hide
          Aparup Banerjee added a comment -

          up for review.
          i've only skipped one question/upgrade.php from all upgrade.php's .

          Show
          Aparup Banerjee added a comment - up for review. i've only skipped one question/upgrade.php from all upgrade.php's .
          Hide
          Eloy Lafuente (stronk7) added a comment -

          Looks perfect, so integrating to have it fixed before anything else.

          Show
          Eloy Lafuente (stronk7) added a comment - Looks perfect, so integrating to have it fixed before anything else.
          Hide
          Eloy Lafuente (stronk7) added a comment -

          Integrated, thanks! (23 and master)

          Show
          Eloy Lafuente (stronk7) added a comment - Integrated, thanks! (23 and master)
          Hide
          Eloy Lafuente (stronk7) added a comment -

          Everything seems to work as expected, thanks!

          Show
          Eloy Lafuente (stronk7) added a comment - Everything seems to work as expected, thanks!
          Hide
          Eloy Lafuente (stronk7) added a comment -

          Closing this as fixed, changes are now available upstream.

          Big thanks!

          Show
          Eloy Lafuente (stronk7) added a comment - Closing this as fixed, changes are now available upstream. Big thanks!

            People

            • Assignee:
              Aparup Banerjee
              Reporter:
              Eloy Lafuente (stronk7)
              Peer reviewer:
              Eloy Lafuente (stronk7)
              Integrator:
              Eloy Lafuente (stronk7)
              Tester:
              Eloy Lafuente (stronk7)
              Participants:
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: