Upgrades should run faster now.

git-svn-id: https://develop.svn.wordpress.org/trunk@1229 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Matt Mullenweg 2004-05-05 08:00:13 +00:00
parent 6eae3c0e1e
commit d912dbea1c
2 changed files with 42 additions and 17 deletions

View File

@ -553,13 +553,15 @@ function upgrade_100() {
('$gid', '$oid', '$seq')");
}
// Get the title and ID of every post, post_name to check if it already has a value
$posts = $wpdb->get_results("SELECT ID, post_title, post_name FROM $tableposts");
$posts = $wpdb->get_results("SELECT ID, post_title, post_name FROM $tableposts WHERE post_name = ''");
if ($posts) {
foreach($posts as $post) {
if ('' == $post->post_name) {
$newtitle = sanitize_title($post->post_title);
$wpdb->query("UPDATE $tableposts SET post_name = '$newtitle' WHERE ID = '$post->ID'");
}
}
}
$categories = $wpdb->get_results("SELECT cat_ID, cat_name, category_nicename FROM $tablecategories");
foreach ($categories as $category) {
@ -623,7 +625,19 @@ function upgrade_100() {
INDEX ( `post_id` , `category_id` )
)
");
$allposts = $wpdb->get_results("SELECT ID, post_category FROM $tableposts");
$done_ids = $wpdb->get_results("SELECT DISTINCT post_id FROM $tablepost2cat");
if ($done_ids) :
foreach ($done_ids as $done_id) :
$done_posts[] = $done_id->post_id;
endforeach;
$catwhere = ' AND ID NOT IN (' . implode(',', $done_posts) . ')';
else:
$catwhere = '';
endif;
$allposts = $wpdb->get_results("SELECT ID, post_category FROM $tableposts WHERE post_category != '0' $catwhere");
if ($allposts) :
foreach ($allposts as $post) {
// Check to see if it's already been imported
$cat = $wpdb->get_row("SELECT * FROM $tablepost2cat WHERE post_id = $post->ID AND category_id = $post->post_category");
@ -636,6 +650,7 @@ function upgrade_100() {
");
}
}
endif;
}
function upgrade_101() {

View File

@ -2,6 +2,7 @@
$_wp_installing = 1;
if (!file_exists('../wp-config.php')) die("There doesn't seem to be a wp-config.php file. Double check that you updated wp-config-sample.php with the proper database connection information and renamed it to wp-config.php.");
require('../wp-config.php');
timer_start();
require('upgrade-functions.php');
$step = $_GET['step'];
@ -54,6 +55,15 @@ switch($step) {
?>
<h2>Step 1</h2>
<p>There's actually only one step. So if you see this, you're done. <a href="../">Have fun</a>! </p>
<!--
<pre>
<?php echo $wpdb->num_queries; ?> queries
<?php timer_stop(1); ?> seconds
</pre>
-->
<?php
break;
}