HomeCoursesBuilding Database Applications in Elixir with Ecto
AI-powered learning
Save

Building Database Applications in Elixir with Ecto

Build efficient database applications with Ecto in Elixir. Learn about repos, queries, schemas, changesets, and transactions, and master Ecto syntax to create robust applications.

4.6
164 Lessons
2 Projects
60h
Join 2.9 million developers at
Join 2.9 million developers at
LEARNING OBJECTIVES
  • Learn to connect your Elixir applications with relational databases using Ecto
  • Gain mastery over core modules of Ecto
  • Learn to speed up your test suite by writing concurrent tests
  • Learn the use of nested associations to handle complex table relationships
  • Learn to add streams to handle large result sets with ease

Learning Roadmap

164 Lessons17 Quizzes

1.

Introduction to This Course

Introduction to This Course

Get familiar with Ecto, a powerful library for simplifying Elixir database access.

3.

Get Started with Repo

Get Started with Repo

16 Lessons

16 Lessons

Explore using Ecto in Elixir for database applications with hands-on examples and Repo module setup.

4.

Query Your Database

Query Your Database

19 Lessons

19 Lessons

Enhance your skills in writing efficient and secure queries using Ecto in Elixir.

5.

Connect Tables to Elixir Structs with Schemas

Connect Tables to Elixir Structs with Schemas

15 Lessons

15 Lessons

Take a closer look at efficiently integrating Elixir structs with database tables using Ecto schemas.

6.

Make Changes with Changesets

Make Changes with Changesets

15 Lessons

15 Lessons

Investigate creating and managing Changesets in Ecto for data integrity and efficient updates.

7.

Make Multiple Changes with Transactions and the Multi Module

Make Multiple Changes with Transactions and the Multi Module

12 Lessons

12 Lessons

Master the steps to handle multiple database changes with Ecto transactions and the Multi module.

8.

Make Changes to the Database

Make Changes to the Database

13 Lessons

13 Lessons

Sharpen your skills in managing Ecto database migrations, including creating, running, and reversing changes effectively.

10.

Add Ecto to an Elixir Application Without Phoenix

Add Ecto to an Elixir Application Without Phoenix

8 Lessons

8 Lessons

Work your way through adding Ecto to Elixir applications, creating repos, and managing databases.

11.

Work with Changesets and Phoenix Forms

Work with Changesets and Phoenix Forms

7 Lessons

7 Lessons

Utilize Ecto changesets within Phoenix forms for efficient parameter validation and management.

12.

Test with Sandboxes

Test with Sandboxes

6 Lessons

6 Lessons

Take a closer look at sandboxed testing to enhance efficiency and concurrency in Elixir.

13.

Create and Use Custom Types

Create and Use Custom Types

5 Lessons

5 Lessons

Tackle building and using custom types in Ecto for enhanced data handling.

14.

Inserting and Updating with Upserts

Inserting and Updating with Upserts

7 Lessons

7 Lessons

Master the steps to efficiently manage data using upserts with Ecto.

15.

Optimizeing Your Application Design

Optimizeing Your Application Design

6 Lessons

6 Lessons

Step through best practices for optimized Elixir application design with Ecto.

16.

Work with Embedded Schemas

Work with Embedded Schemas

6 Lessons

6 Lessons

Unpack the core of creating and managing embedded schemas for efficient data handling in Ecto.

17.

Creating Polymorphic Associations

Creating Polymorphic Associations

7 Lessons

7 Lessons

Explore creating polymorphic associations in Ecto using multiple strategies and their implications.

18.

Optimize IEx for Ecto

Optimize IEx for Ecto

5 Lessons

5 Lessons

Enhance your skills in optimizing IEx for Ecto through imports, aliases, and helper functions.

19.

Use Schemas Without Tables

Use Schemas Without Tables

6 Lessons

6 Lessons

Dig deeper into creating flexible, table-less schemas in Ecto for better data handling.

20.

Tune for Performance

Tune for Performance

6 Lessons

6 Lessons

Simplify complex topics in Ecto performance tuning, optimization techniques, bulk operations, and streaming large datasets.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Author NameBuilding Database Applications inElixir with Ecto
Developed by MAANG Engineers
ABOUT THIS COURSE
Ecto is a database library that ships natively with Phoenix, and is an important component of the Elixir ecosystem. This course is both an introduction and a comprehensive guide into the functionality of Ecto. You’ll start with the basic functions of relational databases—repos, queries, schemas, changesets, and transactions—to build your knowledge of Elixir and Ecto. You’ll apply these concepts on increasingly complex challenges to master Ecto’s syntax, and consequently build a sample application. You’ll then build various embedded schemas to finalize your database application before verifying its performance with your own concurrency tests. With the help of expert advice from the core Elixir team (and a co-creator of Ecto), this course will enable you to build efficient database applications using this rapidly growing functional programming environment.
ABOUT THE AUTHOR

The Pragmatic Programmers

We create timely, practical books and learning resources on classic and cutting-edge topics to help you practice your craft and accelerate your career.

Learn more about The

Trusted by 2.9 million developers working at companies

These are high-quality courses. Trust me the price is worth it for the content quality. Educative came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks

A

Anthony Walker

@_webarchitect_

Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!

E

Evan Dunbar

ML Engineer

You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it.

S

Software Developer

Carlos Matias La Borde

I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site

S

Souvik Kundu

Front-end Developer

Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content.

V

Vinay Krishnaiah

Software Developer

Built for 10x Developers

No Passive Learning
Learn by building with project-based lessons and in-browser code editor
Learn by Doing
Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go
Learn by Doing
Future-proof Your Career
Get hands-on with in-demand skills
Learn by Doing
AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"
Learn by Doing
Learn by Doing
MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies
Learn by Doing

Free Resources

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath