OS Database Naming Conventions

OS Database Naming Conventions

  
I risk being told that I shouldn't care what the database actually looks like   :)    , but ...      

- Did you ever consider using a meaningful Version Number instead of the random hash we see in the table names?
  i.e. Instead of    OSUSR_4XW_ASSIGNMENTS, how about     OSUSR_V1.1_ASSIGNMENTS.

- Did you ever consider a naming convention that would visually split the system tables from the core data tables?
  i.e 

Core Data Tables from app:
V1.1_Assignments
V1.1_Customers

OS Meta Data System Tables:
ZOS_LOG_Cyclic_Job_5
ZOS_SYS_Assembly_Dependency
ZOS_SYS_BPM_Process_Input

The Z-named tables naturally sort to the bottom, and the Version_stamped core data tables naturally sort above that.   [As well as look much tidier.   ;)    ]

Wisdom of the Crowds for stuff like this, it helps them manage it, lets others vote/comment, etc. :)

J.Ja
I think the 4XW is to see from which espace it's from.

(but my knowledge is from last year ;) )

And while I agree it would make life easier for us, they need to have some secrecy about their tooling? ;)
Hi Frank,

Speaking from my personal experience, here are a couple of thoughts:
  • The random hash is useful because it remains constant between environments. This means if you use external logic to access the database it will not break when you promote code between development, QA, and production;
  • Most of the times, several apps live side by side which makes "regular" naming a pain. The hashes help prevent that by identifying the owner eSpace. 
  • If you want to have some degree of control over how tables are named, look here - http://www.outsystems.com/NetworkForums/ViewTopic.aspx?Topic=configuring-the-physical-table-name-format-for-entities - and be sure to read the whole post since updates have taken place after my original post
And, by the way, the way the database looks is less important when you have a Platform to take care of all that for you ;)

Hope this helps,
Goncalo