[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