Jestem bardzo nowy w świecie frameworków Elixir i Phoenix. Próbuję wykonać samouczek TheFireHoseProject, ale mam problem z zapytaniem o surowy SQL z Ecto. Samouczek mówi, że to powinno działać:Surowy SQL z Ecto
defmodule Queries do
def random do
query = Ecto.Adapters.Postgres.query(
Repo,
"SELECT id, saying, author from quotes ORDER BY RANDOM() LIMIT 1",
[])
%Postgrex.Result{rows: [row]} = query
{id, saying, author} = row
%Splurty.Quote{id: id, saying: saying, author: author}
end
end
Dostaję błąd runtime że Ecto.Adapters.Postgres.query nie istnieje (funkcję niezdefiniowany).
Próbowałem przeszukać dokumentację Ecto i odkryłem, że może istnieć funkcja o nazwie run_query, ale ona również nie działa.
Myślę, że używam Ecto 1.1.4 i nie znalazłem żadnych dobrych (aktualnych) próbek tego, jak mogę zapytać o surowy SQL z Ecto.
Link do firehoseproject jest: http://phoenix.thefirehoseproject.com/
Zapytanie wydaje się działać teraz, ale mam problemy mapowanie wyników do mojego modelu obiektowego (Quote). Myślę, że to tylko ja uczę się ogólnie eliksiru. –