function _db_add_field($table, $field, $fieldtype, $default, $after) { $table = table_by_key($table); if (!_db_field_exists($table, $field)) { $query = "ALTER TABLE {$table} ADD COLUMN {$field} {$fieldtype} DEFAULT '{$default}' AFTER {$after}"; return db_query($query); } else { printdebug("field already exists: {$table}.{$field}"); return false; } }
function _db_add_field($table, $field, $fieldtype, $after) { global $CONF; $query = "ALTER TABLE " . table_by_key($table) . " ADD COLUMN {$field} {$fieldtype}"; if ($CONF['database_type'] != 'pgsql') { $query .= " AFTER {$after} "; # PgSQL does not support to specify where to add the column, MySQL does } if (!_db_field_exists(table_by_key($table), $field)) { $result = db_query_parsed($query); } else { printdebug("field already exists: {$table}.{$field}"); } }
function upgrade_7() { global $xerte_toolkits_site; if (!_db_field_exists('sitedetails', 'authentication_method')) { $error1 = _db_add_field('sitedetails', 'authentication_method', 'char(255)', '', 'site_session_name'); $error_returned = true; $res = db_query("update {$xerte_toolkits_site->database_table_prefix}sitedetails set authentication_method = 'Guest' where site_id=1"); if ($res === false) { die("Error creating authentication_method field"); } if ($error1 === false) { $error_returned = false; // echo "creating authentication_method field FAILED"; } return "Creating authentication_method field - ok ? " . ($error_returned ? 'true' : 'false'); } else { return "authentication_method field already present - ok ? true"; } }
function upgrade_4() { if (!_db_field_exists('templatedetails', 'extra_flags')) { $error1 = _db_add_field('templatedetails', 'extra_flags', 'varchar(45)', '', 'access_to_whom'); $table = table_by_key('templatedetails'); $error2 = _upgrade_db_query("UPDATE `{$table}` set `extra_flags`='engine=flash'"); $table = table_by_key('originaltemplatesdetails'); $error3 = _upgrade_db_query("UPDATE `{$table}` set `template_framework`='site' where `template_name`='site'"); $table = table_by_key('sitedetails'); $error4 = _upgrade_db_query("ALTER TABLE `{$table}` CHANGE COLUMN `site_text` `site_text` TEXT NULL DEFAULT NULL"); $error_returned = true; if ($error1 === false || $error2 === false || $error3 === false || $error4 === false) { $error_returned = false; // echo "creating lti tables FAILED"; } return "Creating default engine flag - ok ? " . ($error_returned ? 'true' : 'false'); } else { return "Default engine flag already present - ok ? true"; } }