The problem lies in changing fields that are involved in key constraints.
ALTER TABLE dbmail_acl MODIFY COLUMN user_id BIGINT(20) UNSIGNED DEFAULT 0 NOT NULL; doesn't work because in your system dbmail_users.user_id is defined as a BIGINT(21) the definition on both ends of a foreign key need to be consistent.s In dbmail-2 we didn't specify the field with and just used BIGINT UNSIGNED, which led to different fields with on different platforms. Which is why we've switched to an explicit BIGINT(20) In your case you need to modify the 2_2-3_0 script and: - drop all foreign keys that cause trouble (see fix_foreign_keys for the syntax) - do all that is currently in 2_2-3_0 - re-add the foreign keys previously dropped Always restart from a clean database: 1. mysqldump -d --opt dbmail > test.sql 2. mysqladmin create test 3. mysql test < test.sql 4. mysql test < 2_2-3_0.sql 5. in case of error edit 2_2-3_0.sql and go to 3. When you succeed doing this without errors, try it *with* data: 1. mysqldump --opt dbmail > test.sql .... -- ________________________________________________________________ Paul J Stevens pjstevns @ gmail, twitter, skype, linkedin * Premium Hosting Services and Web Application Consultancy * www.nfg.nl/i...@nfg.nl/+31.85.877.99.97 ________________________________________________________________ _______________________________________________ DBmail mailing list DBmail@dbmail.org http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail