From: stronk7 Date: Sat, 30 Sep 2006 15:48:23 +0000 (+0000) Subject: Applying the field_exists() check to add and drop fields. X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=3e1861cc87814a00dc2c194675a196474f799c11;p=moodle.git Applying the field_exists() check to add and drop fields. --- diff --git a/lib/ddllib.php b/lib/ddllib.php index 417927d142..3c4d3a52a7 100644 --- a/lib/ddllib.php +++ b/lib/ddllib.php @@ -595,6 +595,12 @@ function add_field($table, $field, $continue=true, $feedback=true) { return false; } +/// Check the field doesn't exist + if (field_exists($table, $field)) { + debugging('Field ' . $field->getName() . ' exists. Skipping its creation', DEBUG_DEVELOPER); + return true; + } + if(!$sqlarr = $table->getAddFieldSQL($CFG->dbtype, $CFG->prefix, $field, false)) { return true; //Empty array = nothing to do = no error } @@ -625,6 +631,12 @@ function drop_field($table, $field, $continue=true, $feedback=true) { return false; } +/// Check the field exists + if (!field_exists($table, $field)) { + debugging('Field ' . $field->getName() . ' do not exist. Skipping its deletion', DEBUG_DEVELOPER); + return true; + } + if(!$sqlarr = $table->getDropFieldSQL($CFG->dbtype, $CFG->prefix, $field, false)) { return true; //Empty array = nothing to do = no error }