Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-34096

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

    Details

    • Type: Task
    • Status: Closed
    • Priority: 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:

      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

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

              Hide
              stronk7 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
              stronk7 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
              nebgor Aparup Banerjee added a comment -

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

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

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

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

              Integrated, thanks! (23 and master)

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

              Everything seems to work as expected, thanks!

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

              Closing this as fixed, changes are now available upstream.

              Big thanks!

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

                People

                • Assignee:
                  nebgor Aparup Banerjee
                  Reporter:
                  stronk7 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:
                    Fix Release Date:
                    9/Jan/12