Working with Ecto: Difference between revisions
From ElixirBlocks
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
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 | 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. | Make sure you are aware of camel casing. | ||
Line 10: | Line 10: | ||
==IEX Commands (with example data)== | ==IEX Commands (with example data)== | ||
Line 43: | Line 32: | ||
==Update all tables that contain a field with a chosen value== | |||
<source> | |||
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 | |||
</source> | |||
==References== | ==References== | ||
https://brooklinmyers.medium.com/ecto-with-phoenix-in-4-minutes-9b7c447055c6 | https://brooklinmyers.medium.com/ecto-with-phoenix-in-4-minutes-9b7c447055c6 |
Latest revision as of 00:21, 7 October 2023
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