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.

Intermediate

164 Lessons

60h

Certificate of Completion

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

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

92 Playgrounds
17 Quizzes

This course includes

92 Playgrounds
17 Quizzes

Course Overview

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 t...Show More

What You'll Learn

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

What You'll Learn

Learn to connect your Elixir applications with relational databases using Ecto

Show more

Course Content

1.

Introduction to This Course

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

Part I: Ecto Fundamentals

Look at the fundamental features of Ecto, including schemas, queries, changesets, and transactions.
3.

Get Started with Repo

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

Query Your Database

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

Connect Tables to Elixir Structs with Schemas

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

Make Changes with Changesets

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

12 Lessons

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

Make Changes to the Database

13 Lessons

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

Build an E-learning Website Using Elixir

Project

9.

Part II: Ecto Applied

1 Lesson

Walk through advanced Ecto topics, including performance tuning, sandbox testing, and Phoenix integration.
10.

Add Ecto to an Elixir Application Without Phoenix

8 Lessons

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

Build a REST API with Elixir and Phoenix

Project

11.

Work with Changesets and Phoenix Forms

7 Lessons

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

Test with Sandboxes

6 Lessons

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

Create and Use Custom Types

5 Lessons

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

Inserting and Updating with Upserts

7 Lessons

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

Optimizeing Your Application Design

6 Lessons

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

Work with Embedded Schemas

6 Lessons

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

Creating Polymorphic Associations

7 Lessons

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

Optimize IEx for Ecto

5 Lessons

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

Use Schemas Without Tables

6 Lessons

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

Tune for Performance

6 Lessons

Simplify complex topics in Ecto performance tuning, optimization techniques, bulk operations, and streaming large datasets.
21.

Conclusion

1 Lesson

Approach the closing thoughts with feedback, engagement, and a collaborative learning mindset.

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor