summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2007-08-09 11:22:17 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2007-08-09 11:22:17 +0000
commitd46066247a7c2b84809fe7384e9bcd134b56156b (patch)
treec682651325869a85fd8e9c0bfb35749f5a010a7c
parentc398c872356d58aba3f21d8a3b4938a1167a62d2 (diff)
downloadwordpress-mu-d46066247a7c2b84809fe7384e9bcd134b56156b.tar.gz
wordpress-mu-d46066247a7c2b84809fe7384e9bcd134b56156b.tar.xz
wordpress-mu-d46066247a7c2b84809fe7384e9bcd134b56156b.zip
Ensure that $wp_queries is pointing at the right blog_id, props Vimm, fixes #394
git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1035 7be80a69-a1ef-0310-a953-fb0f7c49ff36
-rw-r--r--wp-admin/upgrade-functions.php2
-rw-r--r--wp-admin/upgrade-schema.php441
2 files changed, 225 insertions, 218 deletions
diff --git a/wp-admin/upgrade-functions.php b/wp-admin/upgrade-functions.php
index d162e58..3c2fa61 100644
--- a/wp-admin/upgrade-functions.php
+++ b/wp-admin/upgrade-functions.php
@@ -914,6 +914,7 @@ function dbDelta($queries, $execute = true) {
function make_db_current() {
global $wp_queries;
+ populate_queries();
$alterations = dbDelta($wp_queries);
echo "<ol>\n";
foreach($alterations as $alteration) echo "<li>$alteration</li>\n";
@@ -923,6 +924,7 @@ function make_db_current() {
function make_db_current_silent() {
global $wp_queries;
+ populate_queries();
$alterations = dbDelta($wp_queries);
}
diff --git a/wp-admin/upgrade-schema.php b/wp-admin/upgrade-schema.php
index 12903eb..2481340 100644
--- a/wp-admin/upgrade-schema.php
+++ b/wp-admin/upgrade-schema.php
@@ -1,7 +1,6 @@
<?php
// Here we keep the DB structure and option values
-global $wp_queries;
$charset_collate = '';
if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) {
@@ -11,223 +10,229 @@ if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) {
$charset_collate .= " COLLATE $wpdb->collate";
}
-$wp_queries="CREATE TABLE $wpdb->categories (
- cat_ID bigint(20) NOT NULL auto_increment,
- cat_name varchar(55) NOT NULL default '',
- category_nicename varchar(200) NOT NULL default '',
- category_description longtext NOT NULL,
- category_parent bigint(20) NOT NULL default '0',
- category_count bigint(20) NOT NULL default '0',
- link_count bigint(20) NOT NULL default '0',
- posts_private tinyint(1) NOT NULL default '0',
- links_private tinyint(1) NOT NULL default '0',
- PRIMARY KEY (cat_ID),
- KEY category_nicename (category_nicename)
-) $charset_collate;
-CREATE TABLE $wpdb->comments (
- comment_ID bigint(20) unsigned NOT NULL auto_increment,
- comment_post_ID int(11) NOT NULL default '0',
- comment_author tinytext NOT NULL,
- comment_author_email varchar(100) NOT NULL default '',
- comment_author_url varchar(200) NOT NULL default '',
- comment_author_IP varchar(100) NOT NULL default '',
- comment_date datetime NOT NULL default '0000-00-00 00:00:00',
- comment_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
- comment_content text NOT NULL,
- comment_karma int(11) NOT NULL default '0',
- comment_approved enum('0','1','spam') NOT NULL default '1',
- comment_agent varchar(255) NOT NULL default '',
- comment_type varchar(20) NOT NULL default '',
- comment_parent bigint(20) NOT NULL default '0',
- user_id bigint(20) NOT NULL default '0',
- PRIMARY KEY (comment_ID),
- KEY comment_approved (comment_approved),
- KEY comment_post_ID (comment_post_ID)
-) $charset_collate;
-CREATE TABLE $wpdb->link2cat (
- rel_id bigint(20) NOT NULL auto_increment,
- link_id bigint(20) NOT NULL default '0',
- category_id bigint(20) NOT NULL default '0',
- PRIMARY KEY (rel_id),
- KEY link_id (link_id,category_id)
-) $charset_collate;
-CREATE TABLE $wpdb->links (
- link_id bigint(20) NOT NULL auto_increment,
- link_url varchar(255) NOT NULL default '',
- link_name varchar(255) NOT NULL default '',
- link_image varchar(255) NOT NULL default '',
- link_target varchar(25) NOT NULL default '',
- link_category bigint(20) NOT NULL default '0',
- link_description varchar(255) NOT NULL default '',
- link_visible enum('Y','N') NOT NULL default 'Y',
- link_owner int(11) NOT NULL default '1',
- link_rating int(11) NOT NULL default '0',
- link_updated datetime NOT NULL default '0000-00-00 00:00:00',
- link_rel varchar(255) NOT NULL default '',
- link_notes mediumtext NOT NULL,
- link_rss varchar(255) NOT NULL default '',
- PRIMARY KEY (link_id),
- KEY link_category (link_category),
- KEY link_visible (link_visible)
-) $charset_collate;
-CREATE TABLE $wpdb->options (
- option_id bigint(20) NOT NULL auto_increment,
- blog_id int(11) NOT NULL default '0',
- option_name varchar(64) NOT NULL default '',
- option_can_override enum('Y','N') NOT NULL default 'Y',
- option_type int(11) NOT NULL default '1',
- option_value longtext NOT NULL,
- option_width int(11) NOT NULL default '20',
- option_height int(11) NOT NULL default '8',
- option_description tinytext NOT NULL,
- option_admin_level int(11) NOT NULL default '1',
- autoload enum('yes','no') NOT NULL default 'yes',
- PRIMARY KEY (option_id,blog_id,option_name),
- KEY option_name (option_name)
-) $charset_collate;
-CREATE TABLE $wpdb->post2cat (
- rel_id bigint(20) NOT NULL auto_increment,
- post_id bigint(20) NOT NULL default '0',
- category_id bigint(20) NOT NULL default '0',
- PRIMARY KEY (rel_id),
- KEY post_id (post_id,category_id)
-) $charset_collate;
-CREATE TABLE $wpdb->postmeta (
- meta_id bigint(20) NOT NULL auto_increment,
- post_id bigint(20) NOT NULL default '0',
- meta_key varchar(255) default NULL,
- meta_value longtext,
- PRIMARY KEY (meta_id),
- KEY post_id (post_id),
- KEY meta_key (meta_key)
-) $charset_collate;
-CREATE TABLE $wpdb->posts (
- ID bigint(20) unsigned NOT NULL auto_increment,
- post_author bigint(20) NOT NULL default '0',
- post_date datetime NOT NULL default '0000-00-00 00:00:00',
- post_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
- post_content longtext NOT NULL,
- post_title text NOT NULL,
- post_category int(4) NOT NULL default '0',
- post_excerpt text NOT NULL,
- post_status enum('publish','draft','private','static','object','attachment','inherit','future') NOT NULL default 'publish',
- comment_status enum('open','closed','registered_only') NOT NULL default 'open',
- ping_status enum('open','closed') NOT NULL default 'open',
- post_password varchar(20) NOT NULL default '',
- post_name varchar(200) NOT NULL default '',
- to_ping text NOT NULL,
- pinged text NOT NULL,
- post_modified datetime NOT NULL default '0000-00-00 00:00:00',
- post_modified_gmt datetime NOT NULL default '0000-00-00 00:00:00',
- post_content_filtered text NOT NULL,
- post_parent bigint(20) NOT NULL default '0',
- guid varchar(255) NOT NULL default '',
- menu_order int(11) NOT NULL default '0',
- post_type varchar(20) NOT NULL default 'post',
- post_mime_type varchar(100) NOT NULL default '',
- comment_count bigint(20) NOT NULL default '0',
- PRIMARY KEY (ID),
- KEY post_name (post_name),
- KEY type_status_date (post_type,post_status,post_date,ID)
-) $charset_collate;
-CREATE TABLE $wpdb->users (
- ID bigint(20) unsigned NOT NULL auto_increment,
- user_login varchar(60) NOT NULL default '',
- user_pass varchar(64) NOT NULL default '',
- user_nicename varchar(50) NOT NULL default '',
- user_email varchar(100) NOT NULL default '',
- user_url varchar(100) NOT NULL default '',
- user_registered datetime NOT NULL default '0000-00-00 00:00:00',
- user_activation_key varchar(60) NOT NULL default '',
- user_status int(11) NOT NULL default '0',
- display_name varchar(250) NOT NULL default '',
- spam tinyint(2) NOT NULL default '0',
- deleted tinyint(2) NOT NULL default '0',
- PRIMARY KEY (ID),
- KEY user_login_key (user_login)
-) $charset_collate;
-CREATE TABLE $wpdb->usermeta (
- umeta_id bigint(20) NOT NULL auto_increment,
- user_id bigint(20) NOT NULL default '0',
- meta_key varchar(255) default NULL,
- meta_value longtext,
- PRIMARY KEY (umeta_id),
- KEY user_id (user_id),
- KEY meta_key (meta_key)
-) $charset_collate;
-CREATE TABLE $wpdb->blogs (
- blog_id bigint(20) NOT NULL auto_increment,
- site_id bigint(20) NOT NULL default '0',
- domain varchar(200) NOT NULL default '',
- path varchar(100) NOT NULL default '',
- registered datetime NOT NULL default '0000-00-00 00:00:00',
- last_updated datetime NOT NULL default '0000-00-00 00:00:00',
- public tinyint(2) NOT NULL default '1',
- archived enum('0','1') NOT NULL default '0',
- mature tinyint(2) NOT NULL default '0',
- spam tinyint(2) NOT NULL default '0',
- deleted tinyint(2) NOT NULL default '0',
- lang_id int(11) NOT NULL default '0',
- PRIMARY KEY (blog_id),
- KEY domain (domain(50),path(5)),
- KEY lang_id (lang_id)
-);
-CREATE TABLE $wpdb->blog_versions (
- blog_id bigint(20) NOT NULL default '0',
- db_version varchar(20) NOT NULL default '',
- last_updated datetime NOT NULL default '0000-00-00 00:00:00',
- PRIMARY KEY (blog_id),
- KEY db_version (db_version)
-);
-CREATE TABLE $wpdb->registration_log (
- ID bigint(20) NOT NULL auto_increment,
- email varchar(255) NOT NULL default '',
- IP varchar(30) NOT NULL default '',
- blog_id bigint(20) NOT NULL default '0',
- date_registered datetime NOT NULL default '0000-00-00 00:00:00',
- PRIMARY KEY (ID),
- KEY IP (IP)
-);
-CREATE TABLE $wpdb->site (
- id bigint(20) NOT NULL auto_increment,
- domain varchar(200) NOT NULL default '',
- path varchar(100) NOT NULL default '',
- PRIMARY KEY (id),
- KEY domain (domain,path)
-);
-CREATE TABLE $wpdb->sitemeta (
- meta_id bigint(20) NOT NULL auto_increment,
- site_id bigint(20) NOT NULL default '0',
- meta_key varchar(255) default NULL,
- meta_value longtext,
- PRIMARY KEY (meta_id),
- KEY meta_key (meta_key),
- KEY site_id (site_id)
-);
-CREATE TABLE $wpdb->sitecategories (
- cat_ID bigint(20) NOT NULL auto_increment,
- cat_name varchar(55) NOT NULL default '',
- category_nicename varchar(200) NOT NULL default '',
- last_updated timestamp NOT NULL,
- PRIMARY KEY (cat_ID),
- KEY category_nicename (category_nicename),
- KEY last_updated (last_updated)
-);
-CREATE TABLE $wpdb->signups (
- domain varchar(200) NOT NULL default '',
- path varchar(100) NOT NULL default '',
- title longtext NOT NULL,
- user_login varchar(60) NOT NULL default '',
- user_email varchar(100) NOT NULL default '',
- registered datetime NOT NULL default '0000-00-00 00:00:00',
- activated datetime NOT NULL default '0000-00-00 00:00:00',
- active tinyint(1) NOT NULL default '0',
- activation_key varchar(50) NOT NULL default '',
- meta longtext,
- KEY activation_key (activation_key),
- KEY domain (domain)
-);
-";
+populate_queries(); // Added to ensure compatability. Safe to delete?
+
+function populate_queries() {
+ global $charset_collate, $wp_queries, $wpdb;
+
+ $wp_queries = "CREATE TABLE $wpdb->categories (
+ cat_ID bigint(20) NOT NULL auto_increment,
+ cat_name varchar(55) NOT NULL default '',
+ category_nicename varchar(200) NOT NULL default '',
+ category_description longtext NOT NULL,
+ category_parent bigint(20) NOT NULL default '0',
+ category_count bigint(20) NOT NULL default '0',
+ link_count bigint(20) NOT NULL default '0',
+ posts_private tinyint(1) NOT NULL default '0',
+ links_private tinyint(1) NOT NULL default '0',
+ PRIMARY KEY (cat_ID),
+ KEY category_nicename (category_nicename)
+ ) $charset_collate;
+ CREATE TABLE $wpdb->comments (
+ comment_ID bigint(20) unsigned NOT NULL auto_increment,
+ comment_post_ID int(11) NOT NULL default '0',
+ comment_author tinytext NOT NULL,
+ comment_author_email varchar(100) NOT NULL default '',
+ comment_author_url varchar(200) NOT NULL default '',
+ comment_author_IP varchar(100) NOT NULL default '',
+ comment_date datetime NOT NULL default '0000-00-00 00:00:00',
+ comment_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
+ comment_content text NOT NULL,
+ comment_karma int(11) NOT NULL default '0',
+ comment_approved enum('0','1','spam') NOT NULL default '1',
+ comment_agent varchar(255) NOT NULL default '',
+ comment_type varchar(20) NOT NULL default '',
+ comment_parent bigint(20) NOT NULL default '0',
+ user_id bigint(20) NOT NULL default '0',
+ PRIMARY KEY (comment_ID),
+ KEY comment_approved (comment_approved),
+ KEY comment_post_ID (comment_post_ID)
+ ) $charset_collate;
+ CREATE TABLE $wpdb->link2cat (
+ rel_id bigint(20) NOT NULL auto_increment,
+ link_id bigint(20) NOT NULL default '0',
+ category_id bigint(20) NOT NULL default '0',
+ PRIMARY KEY (rel_id),
+ KEY link_id (link_id,category_id)
+ ) $charset_collate;
+ CREATE TABLE $wpdb->links (
+ link_id bigint(20) NOT NULL auto_increment,
+ link_url varchar(255) NOT NULL default '',
+ link_name varchar(255) NOT NULL default '',
+ link_image varchar(255) NOT NULL default '',
+ link_target varchar(25) NOT NULL default '',
+ link_category bigint(20) NOT NULL default '0',
+ link_description varchar(255) NOT NULL default '',
+ link_visible enum('Y','N') NOT NULL default 'Y',
+ link_owner int(11) NOT NULL default '1',
+ link_rating int(11) NOT NULL default '0',
+ link_updated datetime NOT NULL default '0000-00-00 00:00:00',
+ link_rel varchar(255) NOT NULL default '',
+ link_notes mediumtext NOT NULL,
+ link_rss varchar(255) NOT NULL default '',
+ PRIMARY KEY (link_id),
+ KEY link_category (link_category),
+ KEY link_visible (link_visible)
+ ) $charset_collate;
+ CREATE TABLE $wpdb->options (
+ option_id bigint(20) NOT NULL auto_increment,
+ blog_id int(11) NOT NULL default '0',
+ option_name varchar(64) NOT NULL default '',
+ option_can_override enum('Y','N') NOT NULL default 'Y',
+ option_type int(11) NOT NULL default '1',
+ option_value longtext NOT NULL,
+ option_width int(11) NOT NULL default '20',
+ option_height int(11) NOT NULL default '8',
+ option_description tinytext NOT NULL,
+ option_admin_level int(11) NOT NULL default '1',
+ autoload enum('yes','no') NOT NULL default 'yes',
+ PRIMARY KEY (option_id,blog_id,option_name),
+ KEY option_name (option_name)
+ ) $charset_collate;
+ CREATE TABLE $wpdb->post2cat (
+ rel_id bigint(20) NOT NULL auto_increment,
+ post_id bigint(20) NOT NULL default '0',
+ category_id bigint(20) NOT NULL default '0',
+ PRIMARY KEY (rel_id),
+ KEY post_id (post_id,category_id)
+ ) $charset_collate;
+ CREATE TABLE $wpdb->postmeta (
+ meta_id bigint(20) NOT NULL auto_increment,
+ post_id bigint(20) NOT NULL default '0',
+ meta_key varchar(255) default NULL,
+ meta_value longtext,
+ PRIMARY KEY (meta_id),
+ KEY post_id (post_id),
+ KEY meta_key (meta_key)
+ ) $charset_collate;
+ CREATE TABLE $wpdb->posts (
+ ID bigint(20) unsigned NOT NULL auto_increment,
+ post_author bigint(20) NOT NULL default '0',
+ post_date datetime NOT NULL default '0000-00-00 00:00:00',
+ post_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
+ post_content longtext NOT NULL,
+ post_title text NOT NULL,
+ post_category int(4) NOT NULL default '0',
+ post_excerpt text NOT NULL,
+ post_status enum('publish','draft','private','static','object','attachment','inherit','future') NOT NULL default 'publish',
+ comment_status enum('open','closed','registered_only') NOT NULL default 'open',
+ ping_status enum('open','closed') NOT NULL default 'open',
+ post_password varchar(20) NOT NULL default '',
+ post_name varchar(200) NOT NULL default '',
+ to_ping text NOT NULL,
+ pinged text NOT NULL,
+ post_modified datetime NOT NULL default '0000-00-00 00:00:00',
+ post_modified_gmt datetime NOT NULL default '0000-00-00 00:00:00',
+ post_content_filtered text NOT NULL,
+ post_parent bigint(20) NOT NULL default '0',
+ guid varchar(255) NOT NULL default '',
+ menu_order int(11) NOT NULL default '0',
+ post_type varchar(20) NOT NULL default 'post',
+ post_mime_type varchar(100) NOT NULL default '',
+ comment_count bigint(20) NOT NULL default '0',
+ PRIMARY KEY (ID),
+ KEY post_name (post_name),
+ KEY type_status_date (post_type,post_status,post_date,ID)
+ ) $charset_collate;
+ CREATE TABLE $wpdb->users (
+ ID bigint(20) unsigned NOT NULL auto_increment,
+ user_login varchar(60) NOT NULL default '',
+ user_pass varchar(64) NOT NULL default '',
+ user_nicename varchar(50) NOT NULL default '',
+ user_email varchar(100) NOT NULL default '',
+ user_url varchar(100) NOT NULL default '',
+ user_registered datetime NOT NULL default '0000-00-00 00:00:00',
+ user_activation_key varchar(60) NOT NULL default '',
+ user_status int(11) NOT NULL default '0',
+ display_name varchar(250) NOT NULL default '',
+ spam tinyint(2) NOT NULL default '0',
+ deleted tinyint(2) NOT NULL default '0',
+ PRIMARY KEY (ID),
+ KEY user_login_key (user_login)
+ ) $charset_collate;
+ CREATE TABLE $wpdb->usermeta (
+ umeta_id bigint(20) NOT NULL auto_increment,
+ user_id bigint(20) NOT NULL default '0',
+ meta_key varchar(255) default NULL,
+ meta_value longtext,
+ PRIMARY KEY (umeta_id),
+ KEY user_id (user_id),
+ KEY meta_key (meta_key)
+ ) $charset_collate;
+ CREATE TABLE $wpdb->blogs (
+ blog_id bigint(20) NOT NULL auto_increment,
+ site_id bigint(20) NOT NULL default '0',
+ domain varchar(200) NOT NULL default '',
+ path varchar(100) NOT NULL default '',
+ registered datetime NOT NULL default '0000-00-00 00:00:00',
+ last_updated datetime NOT NULL default '0000-00-00 00:00:00',
+ public tinyint(2) NOT NULL default '1',
+ archived enum('0','1') NOT NULL default '0',
+ mature tinyint(2) NOT NULL default '0',
+ spam tinyint(2) NOT NULL default '0',
+ deleted tinyint(2) NOT NULL default '0',
+ lang_id int(11) NOT NULL default '0',
+ PRIMARY KEY (blog_id),
+ KEY domain (domain(50),path(5)),
+ KEY lang_id (lang_id)
+ );
+ CREATE TABLE $wpdb->blog_versions (
+ blog_id bigint(20) NOT NULL default '0',
+ db_version varchar(20) NOT NULL default '',
+ last_updated datetime NOT NULL default '0000-00-00 00:00:00',
+ PRIMARY KEY (blog_id),
+ KEY db_version (db_version)
+ );
+ CREATE TABLE $wpdb->registration_log (
+ ID bigint(20) NOT NULL auto_increment,
+ email varchar(255) NOT NULL default '',
+ IP varchar(30) NOT NULL default '',
+ blog_id bigint(20) NOT NULL default '0',
+ date_registered datetime NOT NULL default '0000-00-00 00:00:00',
+ PRIMARY KEY (ID),
+ KEY IP (IP)
+ );
+ CREATE TABLE $wpdb->site (
+ id bigint(20) NOT NULL auto_increment,
+ domain varchar(200) NOT NULL default '',
+ path varchar(100) NOT NULL default '',
+ PRIMARY KEY (id),
+ KEY domain (domain,path)
+ );
+ CREATE TABLE $wpdb->sitemeta (
+ meta_id bigint(20) NOT NULL auto_increment,
+ site_id bigint(20) NOT NULL default '0',
+ meta_key varchar(255) default NULL,
+ meta_value longtext,
+ PRIMARY KEY (meta_id),
+ KEY meta_key (meta_key),
+ KEY site_id (site_id)
+ );
+ CREATE TABLE $wpdb->sitecategories (
+ cat_ID bigint(20) NOT NULL auto_increment,
+ cat_name varchar(55) NOT NULL default '',
+ category_nicename varchar(200) NOT NULL default '',
+ last_updated timestamp NOT NULL,
+ PRIMARY KEY (cat_ID),
+ KEY category_nicename (category_nicename),
+ KEY last_updated (last_updated)
+ );
+ CREATE TABLE $wpdb->signups (
+ domain varchar(200) NOT NULL default '',
+ path varchar(100) NOT NULL default '',
+ title longtext NOT NULL,
+ user_login varchar(60) NOT NULL default '',
+ user_email varchar(100) NOT NULL default '',
+ registered datetime NOT NULL default '0000-00-00 00:00:00',
+ activated datetime NOT NULL default '0000-00-00 00:00:00',
+ active tinyint(1) NOT NULL default '0',
+ activation_key varchar(50) NOT NULL default '',
+ meta longtext,
+ KEY activation_key (activation_key),
+ KEY domain (domain)
+ );
+ ";
+}
function populate_options() {
global $wpdb, $wp_db_version, $wpblog, $current_site;