Is there a way view the DB and/or queries?

Hi,

I'm learning Outsystems coming from a .NET C# development experience. I'm really enjoying the platform, I think it makes life easier in many ways.

One thing that I miss is the ability to view the generated database schema, and to view the SQL queries that are sent from the application server to the database.

Is there a way to view the generated tables and/or SQL commands?

I'm using a free cloud account. 

Another question would be: is there a way to install the platform services locally on a virtual machine, so that I can view the generated code and the database?

Thanks 

Hi Leonardo,

when you view data of an entity, or when you make an aggregate or SQL widget, there is a property called "Executed SQL", this shows the technical names of tables and columns, and shows how for example a given aggregate results in a given SQL query.  

When joining several tables in an aggregate with more complex join conditions, or some grouping and sorting or calculated columns that don't seem to do what I want, this can be interesting to see exactly what is happening, other than that, I just trust that the platform will do what i need it to do in an optimized form.  

What are you looking for if you want to see generated code ?  Is it just curiousity ?

And no, free developer account is only on OS cloud.

Dorine

It's curiosity, to learn what it's doing behind the scenes.

I was studying the Table Records pagination (List Navigation) for instance, and wondered if it was doing server side (database server side) pagination, or if it was fetching the whole set of records and paginating on the application server... if I could view the SQL, I would understand that better.

Thanks for your comment.

mvp_badge
MVP

Hi Leonardo,

The short answer to your questions is no and no. Only if you have a paid version of the Platform, and you run it on-premise, do you have access to the database server.

EDIT: Like Vincent wrote, for a paid cloud edition, it is possible to request limited access to the database server.

Hi Leonardo,

when you view data of an entity, or when you make an aggregate or SQL widget, there is a property called "Executed SQL", this shows the technical names of tables and columns, and shows how for example a given aggregate results in a given SQL query.  

When joining several tables in an aggregate with more complex join conditions, or some grouping and sorting or calculated columns that don't seem to do what I want, this can be interesting to see exactly what is happening, other than that, I just trust that the platform will do what i need it to do in an optimized form.  

What are you looking for if you want to see generated code ?  Is it just curiousity ?

And no, free developer account is only on OS cloud.

Dorine

It's curiosity, to learn what it's doing behind the scenes.

I was studying the Table Records pagination (List Navigation) for instance, and wondered if it was doing server side (database server side) pagination, or if it was fetching the whole set of records and paginating on the application server... if I could view the SQL, I would understand that better.

Thanks for your comment.

When you have the paid hosted version of OutSystems you can also get access to the database (in contrary of what Kilian said). Just create a ticket to the service desk to get this process started. I have this available to me so I'm 100% sure that this is possible. 

Note that this is limit though. You can get access to the database tables and such but as far I know you can't get profiler up and running nor is directly creating new tables and stored procedures supported.

mvp_badge
MVP

Note I said "the short answer is". I'm aware there's all kinds of possibilities, and when I said "do you have access to the database server" I meant full access, like for profiling (as the OP needs). But I'll edit my answer for completeness.

Today I learned that Profiling is probably still a possibility :) And I added my answer only for completeness. 

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.