Physical tables not created?

Physical tables not created?

  
Hi,
I am using Outsystems against Oracle DB. and facing  a problem where new entities do not seem to be getting created as physical tables, I had created a whole bunch of entities earlier which went into the OSADMIN schema. Entities that I create now do not seem to get into the DB. 

Service studio itself does not complain about this. I am able to locate the entity in the system Entity and it has a table name mapped to it. When I try to execute a query against the table in Service Studio, no errors are thrown. But when I try to join this with an existing entity, the query fails with Oracle flagging that the physical table (for the new entity) is not found.

Any input on what could be going wrong here?
Hi Sathya,

Entities are always created in the OSADMIN schema and the runtime user gets granted permissions for them.

The queries you are having problems are all inside outsystems or using external sql tools?
If external, what user are you using?  Remember to prefix the tablename with the schema and don't use "" in the names (that makes the names case sensitive)

Let me know if it worked.

Regards,
João Rosado
I do understand that osadmin schema is where the application physical tables are created. I have not encountered this problem earlier with the many entities I have created. Neither am I able to execute queries with joins (within Outsystems or the DB tool) nor am I able to locate the table in the all_tables system table of Oracle.
Thats strange, if it's in the system entity it's always also created almost at the same time.

Just to confirm, since it was not clear in your first post: you are creating the entities in Service Studio or in Integration Studio?
I'm asking this because entities created in Service Studio are created in the database.
The ones created in Integration Studio are used for "integrations", so entities need to exist already.

Yes. This is something weird. Let me walk you the problem.

I have created a new entity called TransactionTest in Service Studio (TransactionTracker is an older entity):



I publish the changes and this is successful:



When I query on the Entity entity from Service studio, I see the physical tables name displayed for the new entity:



When I query for data in this table from Service Studio, I get no errors. Service Studio only reports no rows:




Compare the results when I try to describe table of existing TransactionTracker entity and the new TransactionTest entity:

TransactionTracker:




TransactionTest



For some reason, the physical table for the new entity is not getting created.

Is it possible that the table creation fails but the publish still reports as being successful? How can we debug this further?

Thanks,
Sathya
If the test query is working then the table must exist in the database.
Otherwise both the testquery and deploy would be failing.

Are you filtering the query to the System entity by "Is_Active = true" ?
Make sure it's the correct and active line you are looking at.