Ich lerne gerade Phoenix und Elixir und komme von Ruby / Rails, wo ich in der REPL arbeite pry
, um meine Datenbank und meinen Anwendungsstatus zu überprüfen.
Ich versuche herauszufinden, wie ich mit meiner Datenbank und meinen Modellen in einer Phoenix-App interagieren kann. Ich bin mir dessen bewusst iex
, aber ich weiß nicht, wie ich es verwenden soll. Überprüfen Sie die Datenbank meiner App anhand der Antwort. Muss ich mich jedes Mal über die Antwort mit ecto verbinden? Gibt es ein rails console
Äquivalent. Ich habe die Phoenix-Dokumente, Elixir Dose und das Ecto-Repo überprüft, kann aber nicht finden, wonach ich suche. Vermisse ich etwas
Bearbeiten: Basierend auf der Antwort unten habe ich diesen Abschnitt der ecto-Dokumente gefunden. Auf dieser Grundlage kann ich so etwas tunArticlesApi.Repo.all ArticlesApi.Article
quelle
alias ArticlesApi.{Repo, Article}
. Denken Sie auch daran, dass Sie einzelne Module sehr bequem von Ihrer Konsole (r Article
) neu kompilieren oder das gesamte Projekt mit neu kompilieren könnenrecompile
. Auf diese Weise können Sie eineiex
Sitzung jederzeit offen lassen und die Aliase aktiv halten.Antworten:
Sie können ausführen
iex -S mix
, umiex
mit den Abhängigkeiten in Ihrem aktuellen Mix-Projekt auszuführen . Weitere Informationen hierzu finden Sie unter http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.htmlVon dort aus können Sie Ecto-Abfragen ausführen:
Durch Ausführen
iex -S mix phoenix.server
wird auch der Phoenix-Server gestartet.quelle
iex.exs
Datei im Stammverzeichnis Ihres Projekts, damit Sie Aliase einrichten können (damit Sie nicht alles voranstellen müssenMyApp.
). Ein Beispiel wäre:alias MyApp.Repo alias MyApp.User alias MyApp.Car
bin/my_app remote_console
in Ihrer Remote-Shell verwenden.iex -S mix phx.server
seit Phoenix 1.3.Verwenden Sie für das Laufzeit-Debug (wie
byebug
oderdebugger
oderpry
in Rails)require IEx
Geben Sie dann oben in Ihr Modell, Ihren Controller oder Ihre Ansichtsdatei einIEx.pry
dorthin, wo Sie es benötigen, um zur Laufzeit anzuhalten und mit dem Debuggen fortzufahren.Geben Sie
h
Hilfe in die Konsole einStarten Sie nach all dem Ihren Server neu mit:
iex -S mix phoenix.server
Mehr Infos: hier
quelle
Wenn Sie in der Entwicklung arbeiten, verwenden Sie
iex -S mix phx.server
.Wenn Sie die Konsole einer bereitgestellten Version benötigen, wechseln Sie in Ihr Versionsverzeichnis und führen Sie
bin/<name of your app> remote_console
eine Remote-Shell für die Konsole Ihrer App aus.quelle