function xmldb_local_onenote_upgrade()

in db/upgrade.php [31:120]


function xmldb_local_onenote_upgrade($oldversion) {
    global $CFG, $DB;

    $dbman = $DB->get_manager();

    if ($oldversion < 2014110503) {
        // Define table to be created.
        $table = new xmldb_table('onenote_user_sections');

        // Adding fields to table.
        $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null);
        $table->add_field('user_id', XMLDB_TYPE_INTEGER, '10', null, null, null, null);
        $table->add_field('course_id', XMLDB_TYPE_INTEGER, '10', null, null, null, null);
        $table->add_field('section_id', XMLDB_TYPE_CHAR, '255', null, null, null, null);

        // Adding keys to table.
        $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id'));

        // Create table.
        if ($dbman->table_exists($table)) {
            $dbman->drop_table($table);
        }

        $dbman->create_table($table);

        // Define table onenote_assign_pages to be created.
        $table = new xmldb_table('onenote_assign_pages');

        // Adding fields to table.
        $table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null);
        $table->add_field('user_id', XMLDB_TYPE_INTEGER, '10', null, null, null, null);
        $table->add_field('assign_id', XMLDB_TYPE_INTEGER, '10', null, null, null, null);
        $table->add_field('submission_student_page_id', XMLDB_TYPE_CHAR, '255', null, null, null, null);
        $table->add_field('feedback_student_page_id', XMLDB_TYPE_CHAR, '255', null, null, null, null);
        $table->add_field('submission_teacher_page_id', XMLDB_TYPE_CHAR, '255', null, null, null, null);
        $table->add_field('feedback_teacher_page_id', XMLDB_TYPE_CHAR, '255', null, null, null, null);

        // Adding keys to table.
        $table->add_key('primary', XMLDB_KEY_PRIMARY, array('id'));

        // Create table.
        if ($dbman->table_exists($table)) {
            $dbman->drop_table($table);
        }
        $dbman->create_table($table);

        // Onenote savepoint reached.
        upgrade_plugin_savepoint(true, 2014110503, 'local', 'onenote');
    }

    if ($oldversion < 2015111905) {
        // Define field submission_teacher_lastview to be added to onenote_assign_pages.
        $table = new xmldb_table('onenote_assign_pages');
        $field = new xmldb_field('teacher_lastviewed', XMLDB_TYPE_CHAR, '255', null, null, null, null, 'feedback_teacher_page_id');
        // Conditionally launch add field submission_teacher_lastview.
        if (!$dbman->field_exists($table, $field)) {
            $dbman->add_field($table, $field);
        }

        $field = new xmldb_field('student_lastmodified', XMLDB_TYPE_CHAR, '255', null, null, null, null, 'teacher_lastviewed');
        // Conditionally launch add field submission_student_checksum.
        if (!$dbman->field_exists($table, $field)) {
            $dbman->add_field($table, $field);
        }

        // Onenote savepoint reached.
        upgrade_plugin_savepoint(true, 2015111905, 'local', 'onenote');
    }

    if ($oldversion < 2016062002) {
        // Define table to be renamed.
        $table = new xmldb_table('onenote_user_sections');
        if ($dbman->table_exists($table)) {
            // Rename the table to use the correct Moodle naming convention.
            $dbman->rename_table($table, 'local_onenote_user_sections');
        }

        // Define table to be renamed.
        $table = new xmldb_table('onenote_assign_pages');
        if ($dbman->table_exists($table)) {
            // Rename the table to use the correct Moodle naming convention.
            $dbman->rename_table($table, 'local_onenote_assign_pages');
        }

        // Onenote savepoint reached.
        upgrade_plugin_savepoint(true, 2016062002, 'local', 'onenote');
    }

    return true;
}