Skip to Content
Programming Ecto
book

Programming Ecto

by Darin Wilson, Eric Meadows-Jonsson
April 2019
Beginner to intermediate
244 pages
6h 34m
English
Pragmatic Bookshelf
Content preview from Programming Ecto

Executing Bulk Operations

The Repo.update_all and Repo.insert_all operations, first discussed in Chapter 1, Getting Started with Repo, allow you to update and insert large groups of records with a single query. Although they’re less commonly used than their counterparts update and insert, they can be very efficient for certain use cases.

When using Repo.update, you need to perform one query for each record you want to update. Let’s look at how we might reset the number_of_plays counter on our Track records back to 0:

  tracks = Repo.all(Track)
  Enum.each(tracks, ​fn​ track ->
  track
  |> Ecto.Changeset.change(%{​number_of_plays:​ 0})
  |> Repo.update!()
  end​)

If our database had 1000 tracks, we’d need to run 1000 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Programming Elixir

Programming Elixir

Dave Thomas
Erlang Programming

Erlang Programming

Francesco Cesarini, Simon Thompson
Elm in Action

Elm in Action

Richard Feldman

Publisher Resources

ISBN: 9781680506921Errata Page