Estoy aprendiendo Phoenix y Elixir y vengo de Ruby / Rails, donde trabajo en REPL usando prypara inspeccionar mi base de datos y el estado de la aplicación.
Estoy tratando de averiguar cómo interactuar con mi base de datos y modelos en una aplicación de Phoenix. Lo sé iex, pero no sé cómo usarlo, inspeccione la base de datos de mi aplicación desde la respuesta. ¿Necesito conectarme a él con ecto cada vez desde la respuesta? ¿Existe un rails consoleequivalente? Revisé los documentos de Phoenix, Elixir Dose y el repositorio de Ecto, pero no puedo encontrar lo que estoy buscando. ¿Me estoy perdiendo de algo?
Editar: Basado en la respuesta a continuación, encontré esta sección de los documentos ecto. Basado en esto puedo hacer algo comoArticlesApi.Repo.all ArticlesApi.Article
fuente

alias ArticlesApi.{Repo, Article}. Además, tenga en cuenta que puede recompilar módulos individuales de manera muy conveniente desde su consola (r Article), o recompilar todo el proyecto usandorecompile. Esto le permite dejar unaiexsesión abierta todo el tiempo, manteniendo los alias activos.Respuestas:
Puede ejecutar
iex -S mixpara ejecutariexcon las dependencias en su proyecto de mezcla actual incluidas. Puede leer sobre esto en http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.htmlDesde allí puede ejecutar consultas Ecto:
La ejecución
iex -S mix phoenix.servertambién iniciará el servidor phoenix.fuente
iex.exsarchivo en la raíz de su proyecto para permitirle configurar alias (para que no tenga que preceder todo conMyApp.). Un ejemplo sería:alias MyApp.Repo alias MyApp.User alias MyApp.Carbin/my_app remote_consoleen su shell remoto.iex -S mix phx.serverdesde Phoenix 1.3.Para depurar el tiempo de ejecución, (como
byebugodebugger, opryen carriles), el usorequire IExen la parte superior de su modelo o controlador o archivo de vistas, luego escribaIEx.prya donde lo necesite para detenerlo en tiempo de ejecución y continuar depurando.Escriba
hpara obtener ayuda dentro de la consolaLo más importante, después de todo eso, reinicie su servidor con:
iex -S mix phoenix.serverMás info: aquí
fuente
Si está trabajando en desarrollo, use
iex -S mix phx.server.Si necesita acceder a la consola de una versión implementada, vaya a su directorio de versiones y ejecute
bin/<name of your app> remote_consolepara abrir un shell remoto en la consola de su aplicación.fuente