niamtokik

niamtokik

Ecto, PostgreSQL and View

Hi everyone!

I am playing with Ecto and PostgreSQL for my project, and, usually, I like to create some views to make my life easier when I when to create some complex query. I have some many small splitted table and when I need to retrieve all information, I write a long query with join.

So, is it possible to manage SQL views with Ecto.SQL or another kind of Elixir module? Or is it better to create an embedded schema to solve this problem? What is the best way in Ecto?

Most Liked

stevegrossi

stevegrossi

It sounds like you’ve got a plan, but if it would be helpful to see one way this works in practice, I wrote about how I use views with Ecto: Using Ecto Schemas with Database Views | Steve Grossi at Work

11
Post #3
LostKobrakai

LostKobrakai

Ecto does not care if you query a table or a view. There’s no difference at all. Just use the names of views you have and you’re good to go. For creating/managing views you’ll need to resort to Ecto.Migration.execute and raw sql though.

niamtokik

niamtokik

Your article is great! I think I will use it to make some test on my side! I really liked it! :slight_smile:

Where Next?

Popular in Questions Top

hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New

Other popular topics Top

joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54996 245
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 40082 209
New
senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
AstonJ
Posting this to see if we can make things easier for people to get into Neovim. If you use Neovim and have a favourite distro please let ...
New

We're in Beta

About us Mission Statement