Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-34086 META: Increase robustness of upgrade from 1.9 to 2.2
  3. MDL-25948

Sites using 1.9.x, but originally installed with < 1.7, fail upgrading to 2.0 due to null fields in mdl_user table

    Details

    • Type: Sub-task
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.0, 2.0.1, 2.1.8, 2.2.5
    • Fix Version/s: 2.1.9, 2.2.6
    • Component/s: Installation
    • Environment:
      PostgreSQL 8.4.6 (I've no way to test it on MySQL)
    • Database:
      PostgreSQL
    • Testing Instructions:
      Hide

      1. Install Moodle 1.6 using Postgres.

      I had some issues here with getting Moodle's installer to generate the config.php as it could not connect to the database. I ended up having to create the file myself and specify the port. Eg.

      $CFG->dbtype = 'postgres7'; // mysql or postgres7 (for now)
      $CFG->dbhost = 'localhost'; // eg localhost or db.isp.com
      $CFG->dbname = 'name'; // database name, eg moodle
      $CFG->dbuser = 'user'; // your database username
      $CFG->dbpass = 'pass'; // your database password
      $CFG->dbport = '5432';
      $CFG->prefix = 'mdl_'; // Prefix to use for all table names

      $CFG->dbpersist = false; // Should database connections be reused?

      Remove all references of insertion to logs (eg. INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('forum', 'add', 'forum', 'name')) from lib/db/postgres7.sql and mod/forum/db/postgres7.sql before the upgrade as they will cause database errors. This is an issue in 1.6/1.7 so not reporting.

      2. Upgrade to 1.9, then to 2.1
      3. Ensure there are no null column errors. eg.

      Debug info: ERROR: column "lastip" contains null values.
      4. Compare the upgraded user table field attributes (default values, length etc) to those of a fresh install to ensure they are the same (note, they will be in the wrong order as the upgrade to 1.9 changes this (another issue?))
      5. Repeat, except for step 2 upgrade to 2.2

      Show
      1. Install Moodle 1.6 using Postgres. I had some issues here with getting Moodle's installer to generate the config.php as it could not connect to the database. I ended up having to create the file myself and specify the port. Eg. $CFG->dbtype = 'postgres7'; // mysql or postgres7 (for now) $CFG->dbhost = 'localhost'; // eg localhost or db.isp.com $CFG->dbname = 'name'; // database name, eg moodle $CFG->dbuser = 'user'; // your database username $CFG->dbpass = 'pass'; // your database password $CFG->dbport = '5432'; $CFG->prefix = 'mdl_'; // Prefix to use for all table names $CFG->dbpersist = false; // Should database connections be reused? Remove all references of insertion to logs (eg. INSERT INTO prefix_log_display (module, action, mtable, field) VALUES ('forum', 'add', 'forum', 'name')) from lib/db/postgres7.sql and mod/forum/db/postgres7.sql before the upgrade as they will cause database errors. This is an issue in 1.6/1.7 so not reporting. 2. Upgrade to 1.9, then to 2.1 3. Ensure there are no null column errors. eg. Debug info: ERROR: column "lastip" contains null values. 4. Compare the upgraded user table field attributes (default values, length etc) to those of a fresh install to ensure they are the same (note, they will be in the wrong order as the upgrade to 1.9 changes this (another issue?)) 5. Repeat, except for step 2 upgrade to 2.2
    • Affected Branches:
      MOODLE_20_STABLE, MOODLE_21_STABLE, MOODLE_22_STABLE
    • Fixed Branches:
      MOODLE_21_STABLE, MOODLE_22_STABLE
    • Pull from Repository:

      Description

      In sites currently using 1.9.x, that have been originally installed with < 1.7 and then upgraded to 1.9 (even passing through 1.8), the mdl_user table have many NULLable columns without DEFAULTs.

      This will cause upgrading to 2.0.x failing due to db errors.

      -----------------------------------------------------------------
      I attached a simple SQL script that add DEFAULTs and sets NOT NULLs, as a freshly installed 1.9.x (please edit to change table prefix)

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Votes:
                  7 Vote for this issue
                  Watchers:
                  6 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Fix Release Date:
                    12/Nov/12