Reputation: 21
I have successfully updated my databases from a model file many times, but now, when I attempt to forward engineer the model to an existing database, or synchronize to the database, it seems that tables that have triggers associated with them (a new thing for us) are NOT updated. Forward engineering does nothing for these tables, and in Synchronization, there is no arrow indicating that any change was detected (there are added fields). Has anyone else run into this? I've wracked the Net trying to find an answer. I do have a workaround, but it's a lot of of extra work.
An example here: the table tbl_wbselements has added fields, but Workbench isn't spotting them. This seems to happen ONLY with tables that have triggers; tables without triggers, SPs, views, new tables all seem to ForEng and synchronize just fine.
Upvotes: 1
Views: 344
Reputation: 21
This has been solved; it was pure coincidence that several tables with triggers were affected. The problem was that the table designer had added several foreign-key fields to the tables and left the default value of "Not Nullable" set; so, when Workbench tried to insert the field, it found that there were existing records in the foreign table, and it couldn't leave the field as null, so it skipped the new field.
I'd really like to see Workbench give some sort of warning when this happens, as it took two days of investigation to sort this out (and was discovered only by accident). I'm sure that others have been caught by this type of thing as well.
Upvotes: 1