..."Thou shalt not change the Database Structure"!...
Lol! That's funny in the context of it being a religion at Sparx HQ.
The uneasy thought about this "religion" is that they are going down a world of hurt. It is not good data design to simply add key/value pairs ("metadata") to an object where no logical relationship exists between the object and the metadata. For example, in this post raised by Ian, they use "
StyleEx" column to hold data about "layers" and "layer elements". As experienced modellers, we understand it is better to model this data inside one or more
separate tables. These tables then hold data about the "layers" and their "layer elements", since there is a
known relations to each other. (for example introducing the new "
t_DiagramLayer" as you mentioned)
The fact they cram this "metadata" into a column that
logically handles "styles", is evidence this was a conscious design decision by some (inexperienced) individual/developer. Sure, introduce new features with the
least amount of change possible. No problem. However, this “Layers” feature is poorly implemented (as usual). It begs the question: was the implementation approved by
actual modellers? Clearly, no. A product must be adapatable to future changes and to the needs of its customers. If DB structures must be changed to liberate new features, then surely, so-be-it. And the changes are handled carefully with Development, Product, Test/QA before release.
What do you think, in your opinion, is the reason the EA team are not able to realise DB changes and resort to weird hacking of the data (which then introduces bugs into the product and just frustrates users)?