Given the data storage nature of the application we're developing, it's crucial to ensure the persistence of all the media information stored in ElixirDrip works properly. To accomplish this, we will use PostgreSQL as our database, and Ecto as a tool that easily lets us interact with the database and access our application data.
As you will see, working with a database in Elixir is a joy, thanks to the well-crafted abstractions that make our code more expressive while, at the same time, ensuring the required performance in all the data-access operations.
A distinct feature of Ecto is that it never tries to hide the database from you or force you to use its abstractions. You have total flexibility, meaning that you can always overcome the abstraction layer by directly issuing SQL statements from your Elixir application, and Ecto will happily...