Is ORM the only way or the right way to design and deal with data?

Well, what I would like to know is do I have to bound the data that I retrieved from the database to a struct/object context? Because to me, it sounds like this is how you should be making your application but based on what @brightball said:

I think that it makes things a bit clearer. But doesn’t that make application tightly coupled to ecto? In another post that I made Process and Stateness are they object?, it was agreed that the database could be considered as a completely separate system that interacts with your app - so if i where to decide to change database it would be easy to accomplish such task.

I am just trying to break things down here while keeping the context approach in mind. so a structure should look like so:

lib/
some_context_folder/
schema.ex
schema.ex
some_context.ex ← this context handles all the request that neeeds to be done in the database?