5.0
Intermediate
60h
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.
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.
Ecto is a database library that ships natively with Phoenix, and is an important component of the Elixir ecosystem.
This course...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
Learn to connect your Elixir applications with relational databases using Ecto
Show more
Content
1.
Introduction to This Course
2 Lessons
Get familiar with Ecto, a powerful library for simplifying Elixir database access.
2.
Part I: Ecto Fundamentals
1 Lessons
Look at the fundamental features of Ecto, including schemas, queries, changesets, and transactions.
3.
Get Started with Repo
16 Lessons
Explore using Ecto in Elixir for database applications with hands-on examples and Repo module setup.
4.
Query Your Database
19 Lessons
Enhance your skills in writing efficient and secure queries using Ecto in Elixir.
5.
Connect Tables to Elixir Structs with Schemas
15 Lessons
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.
9.
Part II: Ecto Applied
1 Lessons
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.
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 Lessons
Approach the closing thoughts with feedback, engagement, and a collaborative learning mindset.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc 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"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
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."
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"
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."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources