WordPress Version: 4.9
/**
* Runs WordPress Upgrade functions.
*
* Upgrades the database if needed during a site update.
*
* @since 2.1.0
*
* @global int $wp_current_db_version
* @global int $wp_db_version
* @global wpdb $wpdb WordPress database abstraction object.
*/
function wp_upgrade()
{
global $wp_current_db_version, $wp_db_version, $wpdb;
$wp_current_db_version = __get_option('db_version');
// We are up-to-date. Nothing to do.
if ($wp_db_version == $wp_current_db_version) {
return;
}
if (!is_blog_installed()) {
return;
}
wp_check_mysql_version();
wp_cache_flush();
pre_schema_upgrade();
make_db_current_silent();
upgrade_all();
if (is_multisite() && is_main_site()) {
upgrade_network();
}
wp_cache_flush();
if (is_multisite()) {
$site_id = get_current_blog_id();
if ($wpdb->get_row($wpdb->prepare('SELECT blog_id FROM %s WHERE blog_id = %d', $wpdb->blog_versions, $site_id))) {
$wpdb->query($wpdb->prepare('UPDATE %s SET db_version = %d WHERE blog_id = %d', $wpdb->blog_versions, $wp_db_version, $site_id));
} else {
$wpdb->query($wpdb->prepare('INSERT INTO %s ( `blog_id` , `db_version` , `last_updated` ) VALUES ( %d, %d, %s);', $wpdb->blog_versions, $site_id, $wp_db_version, NOW()));
}
}
/**
* Fires after a site is fully upgraded.
*
* @since 3.9.0
*
* @param int $wp_db_version The new $wp_db_version.
* @param int $wp_current_db_version The old (current) $wp_db_version.
*/
do_action('wp_upgrade', $wp_db_version, $wp_current_db_version);
}