I use the schema synchronization tool to update production servers with new structure changes. The last one I did was for a simple column width change, but rather than an expected CHANGE statement sqlYog wanted to drop the column and then add it back in again. This would cause all the data stored there to be lost (big problem).
This only seems to be doing it under certain circumstances as I ran tests on other tables and they where ‘CHANGE’d correctly
This is what it output when just changing the varchar from 20 to 25.
/* Alter table in target */
ALTER TABLE <code>category</code>
DROP COLUMN <code>catTextID</code> ,
ADD COLUMN <code>catTextID</code> varchar(25) COLLATE utf8_general_ci NULL after <code>catTarget</code> ;
Does anyone know under what circumstances the schema sync tool decides to drop and re-add rather than change?