Hi Ilja,

> On the other hand... It's probably more useful to release first, and fix 
> LDAP support later. LDAP is a big thing, and might better wait until 
> after release.

Yes - there are always new features/enhancements/what-ever that would be
nice to have in 2.0 but if everything is accepted we'll see a Hurd
release before dbmail 2.0 final ...

> Talking of migrationscripts:
> It might be wise to build some functionality into DBMail for checking 
> the structure of the database. This function can check for the existence 
> of tables and their fields. If this is run on every startup, we can 
> prevent running we have faulty database. Just a thought.

That sounds like a job for the todo list item "Configuration in
Database". We could simply add a field "database_version" that's only
modified by migrations scripts (better: a wrapper program around migration
sql scripts that prevent users to upgrade versions that don't fit).


Talking of migrationscripts: attached is my script to migrate postgres
to current cvs - I hope I missed nothing.


Thomas
-- 
http://www.tmueller.com for pgp key (95702B3B)
BEGIN TRANSACTION;
-- rename tables
ALTER TABLE acl RENAME TO dbmail_acl;
ALTER TABLE aliases RENAME TO dbmail_aliases;
ALTER TABLE auto_notifications RENAME TO dbmail_auto_notifications;
ALTER TABLE auto_replies RENAME TO dbmail_auto_replies;
ALTER TABLE mailboxes RENAME TO dbmail_mailboxes;
ALTER TABLE messageblks RENAME TO dbmail_messageblks;
ALTER TABLE messages RENAME TO dbmail_messages;
ALTER TABLE pbsp RENAME TO dbmail_pbsp;
ALTER TABLE physmessage RENAME TO dbmail_physmessage;
ALTER TABLE subscription RENAME TO dbmail_subscription;
ALTER TABLE users RENAME TO dbmail_users;
-- rename sequences
ALTER TABLE alias_idnr_seq RENAME TO dbmail_alias_idnr_seq;
ALTER TABLE user_idnr_seq RENAME TO dbmail_user_idnr_seq;
ALTER TABLE mailbox_idnr_seq RENAME TO dbmail_mailbox_idnr_seq;
ALTER TABLE physmessage_id_seq RENAME TO dbmail_physmessage_id_seq;
ALTER TABLE message_idnr_seq RENAME TO dbmail_message_idnr_seq;
ALTER TABLE messageblk_idnr_seq RENAME TO dbmail_messageblk_idnr_seq;
ALTER TABLE seq_pbsp_id RENAME TO dbmail_seq_pbsp_id;
-- adopt renamed sequences in tables
ALTER TABLE dbmail_aliases ALTER alias_idnr SET DEFAULT 
nextval('dbmail_alias_idnr_seq'::text);
ALTER TABLE dbmail_users ALTER user_idnr SET DEFAULT 
nextval('dbmail_user_idnr_seq'::text);
ALTER TABLE dbmail_mailboxes ALTER mailbox_idnr SET DEFAULT 
nextval('dbmail_mailbox_idnr_seq'::text);
ALTER TABLE dbmail_physmessage ALTER id SET DEFAULT 
nextval('dbmail_physmessage_id_seq'::text);
ALTER TABLE dbmail_messages ALTER message_idnr SET DEFAULT 
nextval('dbmail_message_idnr_seq'::text);
ALTER TABLE dbmail_messageblks ALTER messageblk_idnr SET DEFAULT 
nextval('dbmail_messageblk_idnr_seq'::text);
ALTER TABLE dbmail_pbsp ALTER idnr SET DEFAULT 
nextval('dbmail_seq_pbsp_id'::text);
-- some cleanups
ALTER TABLE dbmail_auto_notifications DROP COLUMN auto_notify_idnr;
DROP SEQUENCE auto_notification_seq;
ALTER TABLE dbmail_auto_replies DROP COLUMN auto_reply_idnr;
DROP SEQUENCE auto_reply_seq;
-- indexes
ALTER TABLE aliases_alias_idx RENAME TO dbmail_aliases_alias_idx;
ALTER TABLE aliases_alias_low_idx RENAME TO dbmail_aliases_alias_low_idx;
ALTER TABLE users_name_idx RENAME TO dbmail_users_name_idx;
ALTER TABLE mailboxes_owner_idx RENAME TO dbmail_mailboxes_owner_idx;
ALTER TABLE mailboxes_name_idx RENAME TO dbmail_mailboxes_name_idx;
ALTER TABLE mailboxes_owner_name_idx RENAME TO dbmail_mailboxes_owner_name_idx;
ALTER TABLE messages_mailbox_idx RENAME TO dbmail_messages_mailbox_idx;
ALTER TABLE messages_physmessage_idx RENAME TO dbmail_messages_physmessage_idx;
ALTER TABLE messages_seen_flag_idx RENAME TO dbmail_messages_seen_flag_idx;
ALTER TABLE messages_unique_id_idx RENAME TO dbmail_messages_unique_id_idx;
ALTER TABLE messages_status_idx RENAME TO dbmail_messages_status_idx;
ALTER TABLE messages_status_notdeleted_idx RENAME TO 
dbmail_messages_status_notdeleted_idx;
ALTER TABLE messageblks_physmessage_idx RENAME TO 
dbmail_messageblks_physmessage_idx;
ALTER TABLE messageblks_physmessage_is_header_idx RENAME TO 
dbmail_messageblks_physmessage_is_header_idx;
DROP INDEX auto_notifications_user_idnr_idx;
DROP INDEX auto_replies_user_idnr_idx;
CREATE UNIQUE INDEX dbmail_idx_ipnumber ON dbmail_pbsp (ipnumber);
ALTER TABLE idx_since RENAME TO dbmail_idx_since;
-- pkey indexes
ALTER TABLE acl_pkey RENAME TO dbmail_acl_pkey;
ALTER TABLE aliases_pkey RENAME TO dbmail_aliases_pkey;
ALTER TABLE mailboxes_pkey RENAME TO dbmail_mailboxes_pkey;
ALTER TABLE messageblks_pkey RENAME TO dbmail_messageblks_pkey;
ALTER TABLE messages_pkey RENAME TO dbmail_messages_pkey;
ALTER TABLE pbsp_pkey RENAME TO dbmail_pbsp_pkey;
ALTER TABLE physmessage_pkey RENAME TO dbmail_physmessage_pkey;
ALTER TABLE subscription_pkey RENAME TO dbmail_subscription_pkey;
ALTER TABLE users_pkey RENAME TO dbmail_users_pkey;
COMMIT;

Reply via email to