Just in case you run into the same problem I did when upgrading Roundcube from version 0.9.5 to 1.0.1, I’m posting the exact steps I took to fix the Error in DDL upgrade problem.

So, you’ve followed the Roundcube upgrade instructions, either using the installto.sh or the update.sh script, and then this happens:

Updating database schema (2013042700)... [OK]
Updating database schema (2013052500)... [FAILED]
ERROR: Error in DDL upgrade 2013052500: [1142] CREATE command denied to user 'roundcube'@'localhost' for table 'cache_shared'All done.

You search around and find this forum post by the author of iRedMail. However, if you’re like me, you need a little more detail to be able to apply his advice. Here’s how:

First connect to mysql using the root account (the password is in the iRedMail.tips file that was created when you installed iRedMail):

mysql -u root -p

Grant both the CREATE and ALTER privileges to the roundcube database user:

GRANT CREATE,ALTER on roundcubemail.* to roundcube@localhost;

Then finish the upgrade by starting the update script again. In my case, I started with installto.sh, then ran into the error, then applied the fix and started the update.sh script in the rountdcube target directory:

$ roundcube-dest/bin/update.sh
What version are you upgrading from? Type '?' if you don't know.
Executing database schema update.
Updating database schema (2013061000)... [OK]
Updating database schema (2014042900)... [OK]
This instance of Roundcube is up-to-date.
Have fun!