Working with Ecto: Difference between revisions

From ElixirBlocks
Jump to: navigation, search
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 TestBed, where: t.status == "Taken"
     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)==
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.





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