I am so pleased to see Idera has taken up the support for ER Studio. As someone who regularly shared macros with my ERWin user community, I was lost for the many dry years under Embarcadero. Sure they had a forum but not one that got much attention. From the looks of things we are in for much better days ahead!
Many years I’ve used macros in ER studio in fact I found them to be invaluable. However there is a bug and have been for many years. I brought up decisions with Embarcadero but they did not put any resources on it. So here’s the problem I have handlers that track all the changes I make while modeling I lug them so that I can report them during the project. Also I change the attributes of the columns that have been touched so that they can be seen easily . What I do is I set them to be a different color was a bold and italics font. That way users can look at the model and instantly see what’s changed. So what’s the problem? The event handlers do not trigger when I use drag and drop or because of changes that came in due to a synchronization in which the model was changed. So if I drag columns into a table the add handler does activate so nothing occurs. Likewise when a model compare results in colmuns or even tables being added to the model no event handler fires.
To make matters worse the logging I am able to do is only to a text file or I suppose an Excel spreadsheet. Sadly, a powerful database tool like ER Studio has no method for writing to an ODBC or OLEDB data source.
I really wish there was a better way to version data model changes and I have many ideas but with such a limited macro language it is difficult.
I agree with you on the event handlers. There are some limitations here that I would also like to see enhanced. I don't know if there's any way around the drag drop at this time, so it is what it is.
For the compare and merge, the only thing I can think of would be to wrap a macro around the compare and merge and force the event to run on newly added columns/tables. This will take some work to get it right but with the limitations on the event handler this is probably the best way to do it.
For logging issue, if you take a look at this thread, there's some details about how to connect to a database within a macro. Hopefully this will also give you some additional ideas on how to add functionality to the macro language to enhance it and allow you to do what you want.