2016-06-15 5 views
1

я мог вставить несколько записей в экто 2.0:обновление нескольких записей с помощью экто 2.0

iex(1)> categories = [%{name: "stackoverflow", url: "stackoverflow.com"}] 

iex(2)> App.Repo.insert_all App.Category, categories 

Можно ли обновить несколько записей одновременно?

iex(1) > category = App.Repo.all(App.Category) |> hd 

iex(2) > changeset = App.Category.changeset(category, %{name: "test"}) 

iex(3)> App.Repo.insert_all App.Category, [changeset] 

У меня есть сценарий, в котором я должен вставлять или обновлять категории каждый день после обхода внешних страниц. Похоже, есть функция Multi в Ecto 2.0. Любые указатели на то, как это сделать?

ответ

5

Как и функция insert_all/3, есть также функция update_all/3. update_all/3 принимает Queryable (%MyApp.SomeModel{} или запрос), список ключевых слов обновлений ([name: "John"]) и необязательный список ключевых слов.

Смежные вопросы