Hello Folks,
I just attempted to upgrade my wiki ( http://pipedia.org ) from Mediawiki 1.15.0 to 1.16.2. After running the update I'm missing tables that 1.16.2 is looking for.
After uploading the new files I first tried using the installer to run the update from the web. Initially it reported that the database was schema 4 and it would not be able to update it to schema 5, but it looked like it updated tables anyway? Apparently not, or not all of them. I then re-ran the installer with the backwards compatibility option and still had issues so I ran the update.php script using SSH shell access. It ran without reporting any errors, but I'm still getting errors indicating the database didn't update correctly.
This is using PHP 5.2.15 (cgi-fcgi) and MySQL: 5.1.52.
Do you think the issues are related to the schema 4 data base or did I botch things up trying to use the installer first?
Fortunately I've got a back up of the database and all my files pre-upgrade attempt. I 'd really appreciate any help in getting this straightened out.
Thanks, Scott
Scott Thile wrote:
Hello Folks,
I just attempted to upgrade my wiki ( http://pipedia.org ) from Mediawiki 1.15.0 to 1.16.2. After running the update I'm missing tables that 1.16.2 is looking for.
After uploading the new files I first tried using the installer to run the update from the web. Initially it reported that the database was schema 4 and it would not be able to update it to schema 5, but it looked like it updated tables anyway? Apparently not, or not all of them. I then re-ran the installer with the backwards compatibility option and still had issues so I ran the update.php script using SSH shell access. It ran without reporting any errors, but I'm still getting errors indicating the database didn't update correctly.
This is using PHP 5.2.15 (cgi-fcgi) and MySQL: 5.1.52.
Do you think the issues are related to the schema 4 data base or did I botch things up trying to use the installer first?
Fortunately I've got a back up of the database and all my files pre-upgrade attempt. I 'd really appreciate any help in getting this straightened out.
Thanks, Scott
What errors are you getting? (eg. table foo not found)
What does update.php say? (eg. table foo already exists)
Platonides asks:
What errors are you getting? (eg. table foo not found)
What does update.php say? (eg. table foo already exists)
Thanks for asking!
Here's the one when trying to block a user (spambot), or delete the new page full of spam:
A database query syntax error has occurred. This may indicate a bug in the software. The last attempted database query was:
(SQL query hidden)
from within function "IndexPager::reallyDoQuery (LogPager)". Database returned error "1176: Key 'log_user_type_time' doesn't exist in table 'logging' (localhost)".
And here is one when trying to edit a page while logged in:
A database query syntax error has occurred. This may indicate a bug in the software. The last attempted database query was:
(SQL query hidden)
from within function "LogPage::saveContent". Database returned error "1054: Unknown column 'log_page' in 'field list' (localhost)".
Here is the report from update.php:
MediaWiki 1.16.2 Updater
Going to run database updates for sethile_wikidb3 Depending on the size of your database this may take a while! Abort with control-c in the next five seconds (skip this countdown with --quick) ... 0 ...have ipb_id field in ipblocks table. ...have ipb_expiry field in ipblocks table. ...already have interwiki table ...indexes seem up to 20031107 standards ...hitcounter table already exists. ...have rc_type field in recentchanges table. ...have user_real_name field in user table. ...querycache table already exists. ...objectcache table already exists. ...categorylinks table already exists. Already have pagelinks; skipping old links table updates. ...il_from OK ...have rc_ip field in recentchanges table. ...image primary key already set. ...have rc_id field in recentchanges table. ...have rc_patrolled field in recentchanges table. ...logging table already exists. ...have user_token field in user table. The watchlist table is already set up for email notification. ...watchlist talk page rows already present ...user table does not contain old email authentication field. ...page table already exists. ...have log_params field in logging table. logging table has correct log_title encoding. ...have ar_rev_id field in archive table. ...have page_len field in page table. revision timestamp indexes already up to 2005-03-13 ...rev_text_id already in place. ...have rev_deleted field in revision table. ...have img_width field in image table. ...have img_metadata field in image table. ...have user_email_token field in user table. ...have ar_text_id field in archive table. ...page_namespace is already a full int (int(11)). ...ar_namespace is already a full int (int(11)). ...rc_namespace is already a full int (int(11)). ...wl_namespace is already a full int (int(11)). ...qc_namespace is already a full int (int(11)). ...log_namespace is already a full int (int(11)). ...have img_media_type field in image table. ...already have pagelinks table. No img_type field in image table; Good. Already have unique user_name index. ...user_groups table already exists. ...user_groups is in current format. ...have ss_total_pages field in site_stats table. ...user_newtalk table already exists. ...transcache table already exists. ...have iw_trans field in interwiki table. ...trackbacks table already exists. ...wl_notificationtimestamp is already nullable. ...timestamp key on logging already exists. ...have ipb_range_start field in ipblocks table. Setting page_random to a random value on rows where it equals 0...changed 0 rows ...have user_registration field in user table. ...templatelinks table already exists ...externallinks table already exists. ...job table already exists. ...have ss_images field in site_stats table. ...langlinks table already exists. ...querycache_info table already exists. ...filearchive table already exists. ...have ipb_anon_only field in ipblocks table. Checking for additional recent changes indices... ...index `rc_ns_usertext` seems ok. ...index `rc_user_text` seems ok. ...have user_newpass_time field in user table. ...redirect table already exists. ...querycachetwo table already exists. ...have ipb_enable_autoblock field in ipblocks table. Checking for backlinking indices... Checking if pagelinks index pl_namespace includes field pl_from... ...index pl_namespace on table pagelinks seems to be ok Checking if templatelinks index tl_namespace includes field tl_from... ...index tl_namespace on table templatelinks seems to be ok Checking if imagelinks index il_to includes field il_from... ...index il_to on table imagelinks seems to be ok ...have rc_old_len field in recentchanges table. ...have user_editcount field in user table. ...page_restrictions table already exists. ...have log_id field in logging table. ...have rev_parent_id field in revision table. ...have pr_id field in page_restrictions table. ...have rev_len field in revision table. ...have rc_deleted field in recentchanges table. ...have log_deleted field in logging table. ...have ar_deleted field in archive table. ...have ipb_deleted field in ipblocks table. ...have fa_deleted field in filearchive table. ...have ar_len field in archive table. ...have ipb_block_email field in ipblocks table. Checking for categorylinks indices... Checking if categorylinks index cl_sortkey includes field cl_from... ...index cl_sortkey on table categorylinks seems to be ok ...have oi_metadata field in oldimage table. ...usertext,timestamp key on archive already exists. ...usertext,timestamp key on image already exists. ...usertext,timestamp key on oldimage already exists. ...have ar_page_id field in archive table. ...have img_sha1 field in image table. ...protected_titles table already exists. ...have ipb_by_text field in ipblocks table. ...page_props table already exists. ...updatelog table already exists. ...category table already exists. ...category table already populated. ...have ar_parent_id field in archive table. ...have user_last_timestamp field in user_newtalk table. ...rev_parent_id column already populated. protected_titles table has correct pt_title encoding. Checking filearchive indices... ...have ss_active_users field in site_stats table. ...ss_active_users user count set... ...have ipb_allow_usertalk field in ipblocks table. ...pl_namespace, tl_namespace, il_to indices are already UNIQUE. ...change_tag table already exists. ...tag_summary table already exists. ...valid_tag table already exists. ...user_properties table already exists. ...log_search table already exists. ...log_search table already populated. ...have log_user_text field in logging table. ...l10n_cache table already exists. ...external_user table already exists. ...ls_field_val key already set on log_search table. ...change_tag_rc_tag key already set on change_tag table. ...have rd_interwiki field in redirect table. ...transcache tc_time already converted. Renaming eu_wiki_id -> eu_local_id... already done. *_mime_minor fields are already long enough. Deleting old default messages (this may take a long time!)...Done Checking site_stats row...ok. Purging caches...done. Done.
Thanks very much for any insight you might have, Scott
Scott Thile wrote:
Platonides asks:
What errors are you getting? (eg. table foo not found)
What does update.php say? (eg. table foo already exists)
Thanks for asking!
Here's the one when trying to block a user (spambot), or delete the new page full of spam:
Key 'log_user_type_time' doesn't exist in table Unknown column 'log_page'
Both items are added in patch-log_user_text.sql log_user_text
Here is the report from update.php: ...have log_user_text field in logging table.
log_user_text field is added in that same patch, so it assumes all of them are in the table.
I don't know how did you end up with such half-applied patch. What engine are you using? MyIsam, Innodb... ?
You can execute ALTER TABLE logging DROP COLUMN log_user_text;
Then rerun update.php which should now pick that full patch.
Fixed! Thank you, thank you, thank you, Platonides!
I think the half applied patch may have had to do with doing the update from the web installer, and selecting the wrong option for the database on the frist go around, but I don't know.
I'm using MyISAM. I used Innodb at first but it was less stable on the server I was on so I switched.
What a relief to have this fixed. Thanks again! Scott
On Sun, Apr 10, 2011 at 12:55 PM, Platonides Platonides@gmail.com wrote:
Scott Thile wrote:
Platonides asks:
What errors are you getting? (eg. table foo not found)
What does update.php say? (eg. table foo already exists)
Thanks for asking!
Here's the one when trying to block a user (spambot), or delete the new
page
full of spam:
Key 'log_user_type_time' doesn't exist in table Unknown column 'log_page'
Both items are added in patch-log_user_text.sql log_user_text
Here is the report from update.php: ...have log_user_text field in logging table.
log_user_text field is added in that same patch, so it assumes all of them are in the table.
I don't know how did you end up with such half-applied patch. What engine are you using? MyIsam, Innodb... ?
You can execute ALTER TABLE logging DROP COLUMN log_user_text;
Then rerun update.php which should now pick that full patch.
MediaWiki-l mailing list MediaWiki-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-l
mediawiki-l@lists.wikimedia.org