Elixir 有相当于Rails控制台的Phoenix吗
我正在学习Phoenix和Elixir,我来自Ruby/Rails,在那里我在REPL工作,使用Elixir 有相当于Rails控制台的Phoenix吗,elixir,phoenix-framework,ecto,elixir-iex,Elixir,Phoenix Framework,Ecto,Elixir Iex,我正在学习Phoenix和Elixir,我来自Ruby/Rails,在那里我在REPL工作,使用pry检查我的数据库和应用程序状态 我正试图找出如何在Phoenix应用程序中与我的数据库和模型交互。我知道iexiex,但我不知道如何使用它从repl检查我的应用程序的数据库。我是否需要每次从repl通过EXTO连接到它?是否有rails控制台等效设备。我已经查过凤凰城的文件,长生不老药的剂量,和异位反应,但找不到我要找的。我错过什么了吗 编辑:根据下面的答案,我找到了EXTO文档的一部分。基于此,
pry
检查我的数据库和应用程序状态
我正试图找出如何在Phoenix应用程序中与我的数据库和模型交互。我知道iexiex
,但我不知道如何使用它从repl检查我的应用程序的数据库。我是否需要每次从repl通过EXTO连接到它?是否有rails控制台
等效设备。我已经查过凤凰城的文件,长生不老药的剂量,和异位反应,但找不到我要找的。我错过什么了吗
编辑:根据下面的答案,我找到了EXTO文档的一部分。基于此,我可以执行类似于
ArticlesApi.Repo.all ArticlesApi.Article
的操作,您可以运行iex-S mix
来运行iex
,其中包括当前mix项目中的依赖项。。你可以在
从那里,您可以执行EXTO查询:
iex> MyApp.Repo.all(MyApp.User)
运行iex-S mix phx.server
也将启动phoenix服务器。对于运行时调试(如rails中的byebug
或debugger
或pry
),使用
在模型、控制器或视图文件的顶部需要IEx
,然后键入
IEx.pry
到您需要它在运行时停止并继续调试的任何地方
键入h
以获取控制台内的帮助
最重要的是,在所有这些之后,使用以下命令重新启动服务器:
iex-S mix phoenix.server
更多信息:如果您从事开发工作,请使用
iex-S mix phx.server
如果您需要进入已部署版本的控制台,请转到您的发布目录并运行
bin/remote\u console
以打开应用程序控制台的远程shell。还值得注意的是,项目根目录中的iex.exs
文件方便您设置别名(因此,您不必在MyApp的所有内容之前添加。
)例如:alias MyApp.Repo alias MyApp.User alias MyApp.Car
有什么方法可以在生产环境中使用它吗?@Chris.Zou是的,在远程shell中使用bin/my\u app remote\u console
。这实际上是自Phoenix 1.3以来的iex-S mix phx.server
。您可以通过在模块名称中添加别名来节省键入的时间:r Article
)重新编译单个模块,或者使用recompile
重新编译整个项目。这允许您始终打开iex
会话,保持别名处于活动状态。