Working with Ecto
From ElixirBlocks
This page is in progress
Working with ECTO in IEX can be confusing. These examples below are performed with a table named Testbeds created using the Phoenix Generator. The functions referenced are in app/testbeds.ex where app is the name of your application and testbeds.ex is the name of your table.
Make sure you are aware of camel casing.
IEX Commands (with example data)
Get All
App.Testbeds.Testbed |> App.Repo.all
Insert
%App.Testbeds.Testbed{name: "some-item-name"} |> App.Repo.insert
Update all tables that contain a field with a chosen value
def reset_testbeds do items = from t in Testbed, where: t.status == "Taken" Repo.update_all(items, set: [status: "Available", developer: "None"]) |> broadcast_change([:testbed, :reset]) end
References
https://brooklinmyers.medium.com/ecto-with-phoenix-in-4-minutes-9b7c447055c6