[horde] PEAR upgrade missed schema updates

Jan Schneider jan at horde.org
Tue Aug 13 15:37:49 UTC 2013


Zitat von "Jens-U. Mozdzen" <jmozdzen at nde.ag>:

> Hi *,
>
> a few moments ago, our Horde install was updated to the latest level:
>
> --- cut here ---
> # pear list-upgrades
> pear.horde.org Available Upgrades (stable):
> ===========================================
> Channel        Package          Local          Remote         Size
> pear.horde.org Horde_ActiveSync 2.5.6 (stable) 2.6.1 (stable) 191kB
> pear.horde.org Horde_Core       2.6.4 (stable) 2.6.6 (stable) 1446kB
> pear.horde.org Horde_History    2.1.5 (stable) 2.1.6 (stable) 21kB
> pear.horde.org Horde_Memcache   2.0.3 (stable) 2.0.5 (stable) 13.8kB
> pear.horde.org Horde_Mime       2.2.3 (stable) 2.2.4 (stable) 91kB
> pear.horde.org Horde_Stream     1.2.0 (stable) 1.3.0 (stable) 13.7kB
> pear.php.net Available Upgrades (stable):
> =========================================
> Channel      Package        Local          Remote          Size
> pear.php.net Archive_Tar    1.3.7 (stable) 1.3.11 (stable) 18.1kB
> pear.php.net Console_Getopt 1.3.0 (stable) 1.3.1 (stable)  4.4kB
> Channel pecl.php.net: No upgrades available
> # pear upgrade
> Did not download optional dependencies: horde/Horde_Test, use  
> --alldeps to download automatically
> Did not download optional dependencies: horde/Horde_Test, pecl/idn,  
> use --alldeps to download automatically
> Did not download optional dependencies: horde/Horde_Test, use  
> --alldeps to download automatically
> Did not download optional dependencies: horde/Horde_Test, use  
> --alldeps to download automatically
> Did not download optional dependencies: horde/Horde_Test,  
> pear/Text_CAPTCHA, pear/Text_LanguageDetect, use --alldeps to  
> download automatically
> horde/Horde_Stream can optionally use package "horde/Horde_Test"  
> (version >= 2.1.0, version <= 3.0.0alpha1, excluded versions:  
> 3.0.0alpha1)
> horde/Horde_Mime can optionally use package "horde/Horde_Test"  
> (version >= 2.1.0, version <= 3.0.0alpha1, excluded versions:  
> 3.0.0alpha1)
> horde/Horde_Mime can optionally use package "pecl/idn"
> horde/Horde_History can optionally use package "horde/Horde_Test"  
> (version >= 2.1.0, version <= 3.0.0alpha1, excluded versions:  
> 3.0.0alpha1)
> horde/Horde_ActiveSync can optionally use package "horde/Horde_Test"  
> (version >= 2.1.0, version <= 3.0.0alpha1, excluded versions:  
> 3.0.0alpha1)
> horde/Horde_Core can optionally use package "horde/Horde_Test"  
> (version >= 2.1.0, version <= 3.0.0alpha1, excluded versions:  
> 3.0.0alpha1)
> horde/Horde_Core can optionally use package "pear/Text_CAPTCHA"
> horde/Horde_Core can optionally use package "pear/Text_LanguageDetect"
> downloading Horde_Stream-1.3.0.tgz ...
> Starting to download Horde_Stream-1.3.0.tgz (13,924 bytes)
> .....done: 13,924 bytes
> downloading Horde_Memcache-2.0.5.tgz ...
> Starting to download Horde_Memcache-2.0.5.tgz (14,102 bytes)
> ...done: 14,102 bytes
> downloading Horde_Mime-2.2.4.tgz ...
> Starting to download Horde_Mime-2.2.4.tgz (92,729 bytes)
> ...done: 92,729 bytes
> downloading Horde_History-2.1.6.tgz ...
> Starting to download Horde_History-2.1.6.tgz (21,301 bytes)
> ...done: 21,301 bytes
> downloading Horde_ActiveSync-2.6.1.tgz ...
> Starting to download Horde_ActiveSync-2.6.1.tgz (194,987 bytes)
> ...done: 194,987 bytes
> downloading Horde_Core-2.6.6.tgz ...
> Starting to download Horde_Core-2.6.6.tgz (1,480,548 bytes)
> ...done: 1,480,548 bytes
> downloading Console_Getopt-1.3.1.tgz ...
> Starting to download Console_Getopt-1.3.1.tgz (4,471 bytes)
> ...done: 4,471 bytes
> downloading Archive_Tar-1.3.11.tgz ...
> Starting to download Archive_Tar-1.3.11.tgz (18,537 bytes)
> ...done: 18,537 bytes
> upgrade ok: channel://pear.horde.org/Horde_Stream-1.3.0
> upgrade ok: channel://pear.horde.org/Horde_Memcache-2.0.5
> upgrade ok: channel://pear.horde.org/Horde_History-2.1.6
> upgrade ok: channel://pear.php.net/Console_Getopt-1.3.1
> upgrade ok: channel://pear.php.net/Archive_Tar-1.3.11
> upgrade ok: channel://pear.horde.org/Horde_Mime-2.2.4
> upgrade ok: channel://pear.horde.org/Horde_ActiveSync-2.6.1
> upgrade ok: channel://pear.horde.org/Horde_Core-2.6.6
> # horde-clear-cache
> Are you sure you want to expire all cached data?
>     (y) Yes
>     (n) No
>
> Type your choice [n]: yy
> [   OK   ] Cache data cleared. NOTE: This does not indicate that  
> cache data was
>            successfully cleared on the backend, only that no error messages
>            were returned.
> #
> --- cut here ---
>
> I then checked the configuration page (as admin user), but  
> everything was reported as "up to date". Out of curiosity I wanted  
> to check the list of ActiveSync devices, but got a browser response  
> showing some PHP error, caused by a missing column in one of the  
> ActiveSync tables.
>
> A manual schema upgrade cured this:
> --- cut here ---
> # horde-db-migrate
> [  INFO  ] Migrating DB up.
> [  INFO  ] Current imp schema version: 3
> [  INFO  ] Ending imp schema version: 3
> [  INFO  ] Current ingo schema version: 5
> [  INFO  ] Ending ingo schema version: 5
> [  INFO  ] Current kronolith schema version: 21
> [  INFO  ] Ending kronolith schema version: 21
> [  INFO  ] Current turba schema version: 9
> [  INFO  ] Ending turba schema version: 9
> [  INFO  ] Current nag schema version: 12
> [  INFO  ] Ending nag schema version: 12
> [  INFO  ] Current mnemo schema version: 5
> [  INFO  ] Ending mnemo schema version: 5
> [  INFO  ] Current trean schema version: 5
> [  INFO  ] Ending trean schema version: 5
> [  INFO  ] Current gollem schema version: 2
> [  INFO  ] Ending gollem schema version: 2
> [  INFO  ] Current content schema version: 2
> [  INFO  ] Ending content schema version: 2
> [  INFO  ] Current Horde_ActiveSync schema version: 17
> Migrating to HordeActiveSyncAddMapDeleteFlag (18)
> == 18 HordeActiveSyncAddMapDeleteFlag: migrating  
> ==============================
> -- addColumn('horde_activesync_map', 'sync_deleted', 'boolean')
>    -> 0.3601s
> == 18 HordeActiveSyncAddMapDeleteFlag: migrated (0.3605s)  
> =====================
>
> Migrating to HordeActiveSyncAddTimestamp (19)
> == 19 HordeActiveSyncAddTimestamp: migrating  
> ==================================
> -- renameColumn('horde_activesync_state', 'sync_time', 'sync_mod')
>    -> 0.0537s
> -- addColumn('horde_activesync_state', 'sync_timestamp', 'integer')
>    -> 0.0118s
> == 19 HordeActiveSyncAddTimestamp: migrated (0.0662s)  
> =========================
>
> [  INFO  ] Ending Horde_ActiveSync schema version: 19
> [  INFO  ] Current Horde_Alarm schema version: 1
> [  INFO  ] Ending Horde_Alarm schema version: 1
> [  INFO  ] Current Horde_Auth schema version: 1
> [  INFO  ] Ending Horde_Auth schema version: 1
> [  INFO  ] Current Horde_Cache schema version: 2
> [  INFO  ] Ending Horde_Cache schema version: 2
> [  INFO  ] Current Horde_Core schema version: 1
> [  INFO  ] Ending Horde_Core schema version: 1
> [  INFO  ] Current Horde_Dav schema version: 1
> [  INFO  ] Ending Horde_Dav schema version: 1
> [  INFO  ] Current Horde_Group schema version: 2
> [  INFO  ] Ending Horde_Group schema version: 2
> [  INFO  ] Current Horde_History schema version: 3
> Migrating to HordeHistoryAddCompositeIndex (4)
> == 4 HordeHistoryAddCompositeIndex: migrating  
> =================================
> -- addIndex('horde_histories', array(0 => 'history_modseq', 1 =>  
> 'object_uid'))
>    -> 0.2160s
> == 4 HordeHistoryAddCompositeIndex: migrated (0.2164s)  
> ========================
>
> Migrating to HordeHistoryRemoveCompositeIndex (5)
> == 5 HordeHistoryRemoveCompositeIndex: migrating  
> ==============================
> -- indexes('horde_histories')
>    -> 0.0063s
> -- indexName('horde_histories', 'history_modseq')
>    -> 0.0000s
> -- indexName('horde_histories', 'object_uid')
>    -> 0.0000s
> -- removeIndex('horde_histories', array('name' =>  
> 'index_horde_histories_on_object_uid'))
>    -> 0.0351s
> -- removeIndex('horde_histories', array('name' =>  
> 'index_horde_histories_on_history_modseq'))
>    -> 0.0146s
> == 5 HordeHistoryRemoveCompositeIndex: migrated (0.0578s)  
> =====================
>
> Migrating to HordeHistoryFixBotchedIndexes (6)
> == 6 HordeHistoryFixBotchedIndexes: migrating  
> =================================
> -- indexes('horde_histories')
>    -> 0.0027s
> -- indexName('horde_histories', array('column' => array (
>   0 => 'history_modseq',
>   1 => 'object_uid',
> )))
>    -> 0.0000s
> -- removeIndex('horde_histories', array('name' =>  
> 'index_horde_histories_on_history_modseq_and_object_uid'))
>    -> 0.0124s
> -- addIndex('horde_histories', array(0 => 'history_modseq'))
>    -> 0.0498s
> -- addIndex('horde_histories', array(0 => 'object_uid'))
>    -> 0.0605s
> == 6 HordeHistoryFixBotchedIndexes: migrated (0.1271s)  
> ========================
>
> [  INFO  ] Ending Horde_History schema version: 6
> [  INFO  ] Current Horde_Imap_Client schema version: 1
> [  INFO  ] Ending Horde_Imap_Client schema version: 1
> [  INFO  ] Current Horde_Lock schema version: 3
> [  INFO  ] Ending Horde_Lock schema version: 3
> [  INFO  ] Current Horde_Perms schema version: 2
> [  INFO  ] Ending Horde_Perms schema version: 2
> [  INFO  ] Current Horde_Prefs schema version: 3
> [  INFO  ] Ending Horde_Prefs schema version: 3
> [  INFO  ] Current Horde_SessionHandler schema version: 2
> [  INFO  ] Ending Horde_SessionHandler schema version: 2
> [  INFO  ] Current Horde_SyncMl schema version: 1
> [  INFO  ] Ending Horde_SyncMl schema version: 1
> [  INFO  ] Current Horde_Token schema version: 1
> [  INFO  ] Ending Horde_Token schema version: 1
> [  INFO  ] Current Horde_Vfs schema version: 3
> [  INFO  ] Ending Horde_Vfs schema version: 3
> --- cut here ---
>
> but it looks like HordeHistory even had missed more than one update...
>
> Why didn't the schema update run during PEAR upgrade,

Because that's not possible technically.

> and why didn't I get warnings about missing schema updates in the  
> configuration panel? I recall having seen similar problem reports on  
> the list during the last months, is there a general problem with  
> schema updates via PEAR?

Probably because you have a broken data_dir PEAR setting in the  
configuration that your web server uses.
-- 
Jan Schneider
The Horde Project
http://www.horde.org/



More information about the horde mailing list