I really don’t know how to explain this in any other way. You’re missing something.
Look, here’s the relevant code that triggers the upgrade message:
if ( get_option( 'db_version' ) == $wp_db_version || !is_blog_installed() )
If that returns true, then it does a no upgrade required message. Otherwise, it does the “you need an upgrade” thing.
-$wp_db_version is defined in version.php.
-“db_version” is from the database (that get_option gets it from the options table).
-is_blog_installed() basically does this to see if there’s a blog there:
SELECT option_value FROM $wpdb->options WHERE option_name = 'siteurl'
But this only ever happens if this bit of code works:
...
} elseif ( get_option('db_version') != $wp_db_version ) {
wp_redirect(admin_url('upgrade.php?_wp_http_referer=' . urlencode(stripslashes($_SERVER['REQUEST_URI']))));
exit;
}
When the upgrade is completed, it sets the db_upgraded option to true, and goes on with life.
I can understand if your upgrade isn’t actually upgrading anything. But if your db_version matches the version.php, you can’t possibly get that message that you say you’re getting.