I'm looking to automate some of our existing naming standards, ideally by using as much of the naming standards functionality built into ER/Studio Data Architect. I'd like to write a macro that automates the population of the mappings of a naming standards template, but exploring the API there doesn't appear to be an support for this?
Can anyone confirm this? Or better yet, provide an example to refute it?
FYI, if you really want to automate Naming Standards for columns, the best way to do that is to bind a Naming Standards Template to your model in Model Options, and make sure the 'Enable automatic name translation' option is checked on the Name Handling tab of Tools | Options. That will automatically adjust your physical column names as you type your (logical) attribute names based on your Naming Standards Template.
I'd seen that and only played with a little and it looks to be helpful.
It's a different kind of "automation" than I was initially looking for, though. In our current tool, we have an extension that automatically converts full names into reasonable(ish) abbreviations; e.g., Client becomes CLT. I'm looking to duplicate that functionality in ER/Studio Data Architect and am considering my options, hopefully building on what's included "out of the box." For example, I was hoping to run a macro that would automatically populate the mappings in a naming standards template based on the full words in the logical model. Without an API to do that my options are more limited.
Automatic name translation could be icing on the cake.
That's exactly what we do with Automatic Name Translation - the feature will consider word separators and abbreviate each segment. So as you type "Client Account" in the Attribute Name, the Column name becomes "CLT_ACCT".
Works pretty well.
But you have to have previously, and manually, added the mappings from Client to CLT (as a "prime") and Account as ACCT (as a "qualifier"), no?
No, they would both be defined as Prime in the mappings. No qualifiers are needed. The feature looks at each word segment (defined by your separators in the NST) as an independent element to be abbreviated.
Understood. I'm obviously still learning, including when something would be a prime vs a qualifier.
No worries, it's a pretty complicated piece of software with a lot of nuances. Honestly I don't even use the NST qualifiers, I haven't had a scenario where they would be needed. However we only rely on the Naming Standard Template for column name and table name abbreviations. I find the Naming Standard Utility is not flexible enough to support our naming standards for indexes, foreign keys, and other constraints. So all other standards that we apply are done through a (very complex) macro.
That's actually where we're at now, trying to decide how much of the out-of-the-box behavior we're going to be able to use vs what we want to implement through macros or other means.
Thanks for all of your insights!
Powered by IDERA