There seems to be a bug in com.webobjects.eoaccess.EOSchemaSynchronization and since it has been deprecated, I made a workaround and some minor changes to the column creation method. I am not sure if this bug only surfaces when adding columns to an existing table, but it surely happens when I try to use migrations and add a column after a table has been created. It's been tested only with MySQL.

Within EOSchemaSynchronization the "add" SQL reserved word is replaced by the string "null", generating a wrong SQL expression (at least in MySQL) with something like "alter table my_table null add my_column somedatatype" instead of "alter table my_table add my_column somedatatype".

BTW, both the deprecated com.webobjects.eoaccess.EOSchemaSynchronization and com.webobjects.eoaccess.synchronization.EOSchemaSynchronization have the reported bug.