Thomas Bruederli wrote:
Actually we don't have an automated update-scenario. I think MDB2 has some Schema creation/reverse-engineering functions that might me useful to update any existing database schema. It operates with an XML-based specification of the desired database schema. But I haven't worked with it so far.
Regarding the ticket: I've done some index-optimization in http://trac.roundcube.net/changeset/1218 but not for Postgres.
Ok, I see that you don't have a history of schema changes, so I do it in the same way. I think it should be changed in feature versions.
In LMS project we have an auto-update feature. We're creating a script for each change (one for each database type) in upgradedb directory. In database is stored database schema version number. So when user opens LMS, system's to campare database version from database and from source code and execute all scripts from upgradedb dir when versions differ. Scripts have date in its names so are sorted first.
That scenario needs one sql query for version checking. In roundcube we may do this not for each login to webmail, but in some update-script (maybe in installer) to call it once.