Hi there, I was wondering how MENDIX assigns table names when using an ORACLE Database. I am trying to right database scripts for when we go live with our project, we could just execute the script and all our master data will be in the database. In our dev environment, which is has a MS SQL database, everything looks fine, but in ORACLE a table like transunion$transunionparameters will be called TRANSUN$TRANSUNIONPA_746483928, this makes it fairly hard to distinguish between tables, especially if you start dealing with the association tables. So, to get back to my question : How does MENDIX assign these names? Is there an easier way to locate a table in the database using some system table query or something? I'm fairly new to ORACLE as well, maybe I am missing something? Regards Frikkie
The problem with Oracle is that it does not allow very long table names (max 30 characters I believe), so they have to be shortened and still remain unique. The numbers you see are a hashcode of the tablename that we use for this purpose.
There is however a method you can use, Core.getDatabaseTableName(), to find out what you need.
Edit: And various other methods starting with getDatabase, such as getDatabaseChildColumnName()