[support] Updating from 4.5.2 (in CivicSpace distro) to 4.6.7 Drupal

Gerhard Killesreiter gerhard at killesreiter.de
Tue May 30 08:30:48 UTC 2006


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


More information about the support mailing list