我刚刚学习Phoenix和Elixir,我来自Ruby / Rails,我在REPL中使用pry
来检查我的数据库和应用程序状态。
我正在尝试弄清楚如何在Phoenix应用中与我的数据库和模型进行交互。我知道iex
,但我不知道如何使用它从repl检查我的应用程序的数据库。我是否需要每次从repl使用ecto连接到它?是否有rails console
个等价物。我检查了Phoenix文件,Elixir Dose和Ecto repo,但找不到我要找的东西。我错过了什么吗?
编辑:根据下面的答案,我找到了ecto文档的this部分。基于此,我可以做ArticlesApi.Repo.all ArticlesApi.Article
答案 0 :(得分:109)
您可以运行iex -S mix
来运行iex
,其中包含当前混音项目中的相关性。您可以在http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html
从那里你可以执行Ecto查询:
iex> MyApp.Repo.all(MyApp.User)
运行iex -S mix phoenix.server
也将启动凤凰服务器。
答案 1 :(得分:26)
对于运行时调试(如导轨中的byebug
或debugger
或pry
),请使用
require IEx
位于模型或控制器或视图文件的顶部,然后键入
IEx.pry
,无论你需要它在运行时停止并继续调试。
在控制台中输入h
以获取帮助
最重要的是,毕竟,请使用以下命令重新启动服务器:
iex -S mix phoenix.server
更多信息:here
答案 2 :(得分:2)
如果您正在开发中,请使用iex -S mix phx.server
。
如果需要进入已发布版本的控制台,请转到发布目录并运行bin/<name of your app> remote_console
,以打开应用程序控制台的远程外壳程序。