I have been wondering which attributes are passed along the tables of the same domain? In truth I wanted to understand what are the advantages of copying the field's formulas to all the tables, while the properties aren't? And worse on the last genio's update I have been able to have different field type's on the same domain like in the image below.
The field's attributes/properties that have to be consistent between all tables for the same domain are the ones that are related to Database operations;
The attributes/properties that are allowed to be different are the ones that only affect interface/layout.
The above premises were reviewed on recent Genio version to fix issues that didn't follow the rules.
That being said, either your Genio version hasn't this review yet or the Type property has a bug. The example (Text/Memo) should not be happening since its representation on database will differ, it will be tested on the latest version, and if that's the case, it will be fixed ASAP.
Most apparent inconsistencies have 3 main origins:
Some definitions are only valid on the domain, the same property in the areas of that domain is going to be ignored
Not all areas have the all the relations filled, to avoid cycles in the model or to avoid alias explosion
We sometimes need to go through inconsistent definitions to arrive at consistent states
Properties like the "not null" or "not duplicate" are only valid in the domain. Filling it on the areas would not have any effect (but it might be informative, so it might be done in future versions of Genio).
Formulas are a special case in that they are very context dependent and Genio has no way to guess the correct context transition between two different areas. For example if AUTOB would connect to NACIB and AUTOD would connect to NACID there is no guarantee that they are using the same foreign key to do so.
Formulas are copied to remind the developer that they need to remove this ambiguity for every area. There might be a more intelligent way to do it in the future, but this was the best way Genio has at the moment to manage that issue.
Field types are one of those cases that inconsistencies have to be allowed in some cases. The best example is the Foreign Key type and the False Key type. They are two compatible field types that need to be allowed to coexist so you can control area explosion by cutting off relations by changing a Foreign Key type in one of the areas to False Key.
There are a few more field types that are compatible so Genio does not validate of forces the type to be strictly equal between all areas.
About This Community
|Asked: 9/19/19, 12:05 PM|
|Seen: 219 times|
|Last updated: 9/26/19, 5:03 PM|