Working with Ecto: Difference between revisions
From ElixirBlocks
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
{{In_progress}} | {{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 references 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. | |||
Line 10: | Line 14: | ||
<source> | <source> | ||
def reset_testbeds do | def reset_testbeds do | ||
items = from t in | items = from t in Testbed, where: t.status == "Taken" | ||
Repo.update_all(items, set: [status: "Available", developer: "None"]) | Repo.update_all(items, set: [status: "Available", developer: "None"]) | ||
|> broadcast_change([:testbed, :reset]) | |> broadcast_change([:testbed, :reset]) | ||
Line 19: | Line 23: | ||
==IEX Commands (with example data)== | ==IEX Commands (with example data)== | ||
Revision as of 18:15, 5 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 references 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.
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
IEX Commands (with example data)
Get All
App.Testbeds.Testbed |> App.Repo.all
Insert
%App.Testbeds.Testbed{name: "some-item-name"} |> App.Repo.insert
References
https://brooklinmyers.medium.com/ecto-with-phoenix-in-4-minutes-9b7c447055c6