rails programming framework elixir phoenix-framework ecto iex

elixir - programming - phoenix server



¿Existe un Phoenix equivalente a la consola de Rails? (3)

Solo estoy aprendiendo Phoenix y Elixir y vengo de Ruby / Rails, donde trabajo en el REPL, usando la pry para inspeccionar mi base de datos y el estado de la aplicación.

Estoy tratando de descubrir cómo interactuar con mi base de datos y modelos en una aplicación de Phoenix. Soy consciente de iex , pero no sé cómo usarlo, inspeccionar la base de datos de mi aplicación desde la respuesta. ¿Necesito conectarme a él con ecto cada vez desde la respuesta? ¿Hay una rails console equivalente? He revisado 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: según la respuesta a continuación, encontré this sección de los documentos de ecto. En base a esto, puedo hacer algo como ArticlesApi.Repo.all ArticlesApi.Article


Para la depuración en tiempo de ejecución (como byebug o debugger o pry en rieles), use

require IEx en la parte superior de su modelo o controlador o archivo de vistas, luego escriba

IEx.pry donde sea que lo necesite para detenerse en tiempo de ejecución y continuar con la depuración.

Escriba h para obtener ayuda dentro de la consola

Lo más importante, después de todo eso, reinicie su servidor con:

iex -S mix phoenix.server

Más información: here


Puede ejecutar iex -S mix para ejecutar iex con las dependencias incluidas en su proyecto de mezcla actual. Puede leer sobre esto en http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html

Desde allí puede ejecutar consultas Ecto:

iex> MyApp.Repo.all(MyApp.User)

Al ejecutar iex -S mix phoenix.server también se iniciará el servidor phoenix.


Si está trabajando en desarrollo, use iex -S mix phx.server .

Si necesita bin/<name of your app> remote_console a la consola de una versión implementada, vaya a su directorio de versión y ejecute bin/<name of your app> remote_console para abrir un shell remoto en la consola de su aplicación.