有没有凤凰相当于Rails控制台

Is there a Phoenix equivalent to Rails Console

我刚开始学习 Phoenix 和 Elixir,我来自 Ruby/Rails,我在 REPL 工作,使用 pry 检查我的数据库和应用程序状态。

我正在尝试了解如何在 Phoenix 应用程序中与我的数据库和模型进行交互。我知道 iex,但我不知道如何使用它从 repl 检查我的应用程序的数据库。我每次都需要从 repl 连接到 ecto 吗?是否有 rails console 等价物。我检查了 Phoenix 文档、Elixir Dose 和 Ecto 存储库,但找不到我要找的东西。我错过了什么吗?

编辑:根据下面的答案,我找到了 ecto 文档的 this 部分。基于此我可以做类似 ArticlesApi.Repo.all ArticlesApi.Article

您可以 运行 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 phx.server 也将启动 phoenix 服务器。

对于运行时调试,(如 rails 中的 byebugdebuggerpry),使用

require IEx 在模型或控制器或视图文件的顶部,然后键入

IEx.pry 到任何你需要它在运行时停止并继续调试的地方。

在控制台中键入 h 以获得帮助

最重要的是,毕竟,重启你的服务器:

iex -S mix phoenix.server

更多信息:here

如果您从事开发工作,请使用 iex -S mix phx.server

如果您需要进入已部署版本的控制台,请转到您的版本目录,然后 运行 bin/<name of your app> remote_console 打开一个远程 shell 到您应用程序的控制台。

对我来说,我想 运行 窥探我的 Elixir 测试。为此,您需要在 mix test 命令前加上 iex - S

完整的内容类似于

iex -S mix test test/meta_api_web/pages/mutation/update/update_model_test.exs:270