diff --git a/lib/db/install.xml b/lib/db/install.xml index 399b6130dc0..da15f9e7d56 100644 --- a/lib/db/install.xml +++ b/lib/db/install.xml @@ -3600,10 +3600,8 @@ + - - - @@ -3619,6 +3617,8 @@ + + @@ -3636,6 +3636,8 @@ + + @@ -3654,6 +3656,7 @@ + @@ -3669,6 +3672,8 @@ + + @@ -3688,6 +3693,7 @@ + diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php index fcc7154e394..5a5b4a57feb 100644 --- a/lib/db/upgrade.php +++ b/lib/db/upgrade.php @@ -2369,5 +2369,59 @@ function xmldb_main_upgrade($oldversion) { upgrade_main_savepoint(true, 2017082300.01); } + if ($oldversion < 2017082500.00) { + // Handle FKs for the table 'analytics_models_log'. + $table = new xmldb_table('analytics_models_log'); + + // Remove the existing index before adding FK (which creates an index). + $index = new xmldb_index('modelid', XMLDB_INDEX_NOTUNIQUE, array('modelid')); + + // Conditionally launch drop index. + if ($dbman->index_exists($table, $index)) { + $dbman->drop_index($table, $index); + } + + // Now, add the FK. + $key = new xmldb_key('modelid', XMLDB_KEY_FOREIGN, array('modelid'), 'analytics_models', array('id')); + $dbman->add_key($table, $key); + + // Handle FKs for the table 'analytics_predictions'. + $table = new xmldb_table('analytics_predictions'); + $key = new xmldb_key('modelid', XMLDB_KEY_FOREIGN, array('modelid'), 'analytics_models', array('id')); + $dbman->add_key($table, $key); + + $key = new xmldb_key('contextid', XMLDB_KEY_FOREIGN, array('contextid'), 'context', array('id')); + $dbman->add_key($table, $key); + + // Handle FKs for the table 'analytics_train_samples'. + $table = new xmldb_table('analytics_train_samples'); + $key = new xmldb_key('modelid', XMLDB_KEY_FOREIGN, array('modelid'), 'analytics_models', array('id')); + $dbman->add_key($table, $key); + + $key = new xmldb_key('fileid', XMLDB_KEY_FOREIGN, array('fileid'), 'files', array('id')); + $dbman->add_key($table, $key); + + // Handle FKs for the table 'analytics_predict_samples'. + $table = new xmldb_table('analytics_predict_samples'); + $key = new xmldb_key('modelid', XMLDB_KEY_FOREIGN, array('modelid'), 'analytics_models', array('id')); + $dbman->add_key($table, $key); + + // Handle FKs for the table 'analytics_used_files'. + $table = new xmldb_table('analytics_used_files'); + $key = new xmldb_key('modelid', XMLDB_KEY_FOREIGN, array('modelid'), 'analytics_models', array('id')); + $dbman->add_key($table, $key); + + $key = new xmldb_key('fileid', XMLDB_KEY_FOREIGN, array('fileid'), 'files', array('id')); + $dbman->add_key($table, $key); + + // Handle FKs for the table 'analytics_indicator_calc'. + $table = new xmldb_table('analytics_indicator_calc'); + $key = new xmldb_key('contextid', XMLDB_KEY_FOREIGN, array('contextid'), 'context', array('id')); + $dbman->add_key($table, $key); + + // Main savepoint reached. + upgrade_main_savepoint(true, 2017082500.00); + } + return true; } diff --git a/version.php b/version.php index fa899055d9f..767b38c15f1 100644 --- a/version.php +++ b/version.php @@ -29,7 +29,7 @@ defined('MOODLE_INTERNAL') || die(); -$version = 2017082400.00; // YYYYMMDD = weekly release date of this DEV branch. +$version = 2017082500.00; // YYYYMMDD = weekly release date of this DEV branch. // RR = release increments - 00 in DEV branches. // .XX = incremental changes.