Fix foreign key violation (#331)
This commit is contained in:
parent
2cdae3f45c
commit
28975d4625
3 changed files with 24 additions and 4 deletions
|
@ -23,7 +23,7 @@
|
||||||
</FIELDS>
|
</FIELDS>
|
||||||
<KEYS>
|
<KEYS>
|
||||||
<KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for customcert"/>
|
<KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for customcert"/>
|
||||||
<KEY NAME="template" TYPE="foreign" FIELDS="templateid" REFTABLE="customcert_template" REFFIELDS="id"/>
|
<KEY NAME="template" TYPE="foreign" FIELDS="templateid" REFTABLE="customcert_templates" REFFIELDS="id"/>
|
||||||
</KEYS>
|
</KEYS>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
<TABLE NAME="customcert_templates" COMMENT="Stores each customcert template">
|
<TABLE NAME="customcert_templates" COMMENT="Stores each customcert template">
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
</FIELDS>
|
</FIELDS>
|
||||||
<KEYS>
|
<KEYS>
|
||||||
<KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for customcert_pages"/>
|
<KEY NAME="primary" TYPE="primary" FIELDS="id" COMMENT="Primary key for customcert_pages"/>
|
||||||
<KEY NAME="template" TYPE="foreign" FIELDS="templateid" REFTABLE="customcert_template" REFFIELDS="id"/>
|
<KEY NAME="template" TYPE="foreign" FIELDS="templateid" REFTABLE="customcert_templates" REFFIELDS="id"/>
|
||||||
</KEYS>
|
</KEYS>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
<TABLE NAME="customcert_elements" COMMENT="Stores the elements for a given page">
|
<TABLE NAME="customcert_elements" COMMENT="Stores the elements for a given page">
|
||||||
|
|
|
@ -146,5 +146,25 @@ function xmldb_customcert_upgrade($oldversion) {
|
||||||
upgrade_mod_savepoint(true, 2018051705, 'customcert');
|
upgrade_mod_savepoint(true, 2018051705, 'customcert');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($oldversion < 2019111803) {
|
||||||
|
$table = new xmldb_table('customcert');
|
||||||
|
$index = new xmldb_index('templateid', XMLDB_INDEX_UNIQUE, ['templateid']);
|
||||||
|
if ($dbman->index_exists($table, $index)) {
|
||||||
|
$dbman->drop_index($table, $index);
|
||||||
|
}
|
||||||
|
$key = new xmldb_key('templateid', XMLDB_KEY_FOREIGN, array('templateid'), 'customcert_templates', array('id'));
|
||||||
|
$dbman->add_key($table, $key);
|
||||||
|
|
||||||
|
$table = new xmldb_table('customcert_pages');
|
||||||
|
$index = new xmldb_index('templateid', XMLDB_INDEX_UNIQUE, ['templateid']);
|
||||||
|
if ($dbman->index_exists($table, $index)) {
|
||||||
|
$dbman->drop_index($table, $index);
|
||||||
|
}
|
||||||
|
$key = new xmldb_key('templateid', XMLDB_KEY_FOREIGN, array('templateid'), 'customcert_templates', array('id'));
|
||||||
|
$dbman->add_key($table, $key);
|
||||||
|
|
||||||
|
upgrade_mod_savepoint(true, 2019111803, 'customcert');
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,10 +24,10 @@
|
||||||
|
|
||||||
defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.');
|
defined('MOODLE_INTERNAL') || die('Direct access to this script is forbidden.');
|
||||||
|
|
||||||
$plugin->version = 2019111802; // The current module version (Date: YYYYMMDDXX).
|
$plugin->version = 2019111803; // The current module version (Date: YYYYMMDDXX).
|
||||||
$plugin->requires = 2019111800; // Requires this Moodle version (3.8).
|
$plugin->requires = 2019111800; // Requires this Moodle version (3.8).
|
||||||
$plugin->cron = 0; // Period for cron to check this module (secs).
|
$plugin->cron = 0; // Period for cron to check this module (secs).
|
||||||
$plugin->component = 'mod_customcert';
|
$plugin->component = 'mod_customcert';
|
||||||
|
|
||||||
$plugin->maturity = MATURITY_STABLE;
|
$plugin->maturity = MATURITY_STABLE;
|
||||||
$plugin->release = "3.8.2"; // User-friendly version number.
|
$plugin->release = "3.8.3"; // User-friendly version number.
|
||||||
|
|
Loading…
Reference in a new issue