Laura Scott wrote:
Hi Liza,
4.5 to 4.6 was a tough upgrade, as I recall. From what I remember, what I had to do on a couple of sites is move back through the update versions. Your database update seems to have missed a column insert in a previous update. (A (mis)educated guess.)
I believe a number of people were able to get the update to work by moving backwards through the db upgrade numbers. You might even dig through the update file looking for "severity" and scroll up from there to the update number it involves.
In fact, I just dug through updates.inc (in the database folder) and found this:
function update_115() { $ret = array(); if ($GLOBALS['db_type'] == 'mysql') { $ret[] = update_sql("ALTER TABLE {watchdog} ADD severity tinyint(3) unsigned NOT NULL default '0'"); } else if ($GLOBALS['db_type'] == 'pgsql') { $ret[] = update_sql('ALTER TABLE {watchdog} ADD severity smallint'); $ret[] = update_sql('UPDATE {watchdog} SET severity = 0'); $ret[] = update_sql('ALTER TABLE {watchdog} ALTER COLUMN severity SET NOT NULL'); $ret[] = update_sql('ALTER TABLE {watchdog} ALTER COLUMN severity SET DEFAULT 0'); } return $ret; }
You might try rerunning update.php, and manually selecting version 115, and see how that goes.
Please never do this! Update.php assumes that all updates are run just once, there are no checks for duplicate runs. You might sseriously mess up your database. If you want to run a particular update, copy the contents of the function to a .php file, include the relevant files (bootstrap.inc, common.inc) at the top and execute that instead.
OR (safer) extract the MySQL from this update, convert it into mysql syntax and run the commands manually.
Or that, but this won't be possible for all updates.
Cheers, Gerhard