web-dev-qa-db-fra.com

Existe-t-il un équivalent de Phoenix à Rails Console

J'apprends juste Phoenix et Elixir et je viens de Ruby/Rails où je travaille dans le REPL en utilisant pry pour inspecter ma base de données et l'état de l'application.

J'essaie de comprendre comment interagir avec ma base de données et mes modèles dans une application Phoenix. Je suis au courant de iex, mais je ne sais pas comment l'utiliser. Inspectez la base de données de mon application à partir de la répl. Dois-je me connecter avec ecto à chaque fois de la répl? Y a t-il Rails console équivalent. J'ai consulté les documents Phoenix, Elixir Dose et le dépôt Ecto, mais je ne trouve pas ce que je recherche. Est-ce que je manque quelque chose?

Edit: Basé sur la réponse ci-dessous, j'ai trouvé this section des documents ecto. Sur cette base, je peux faire quelque chose comme ArticlesApi.Repo.all ArticlesApi.Article

88
Chase Gilliam

Tu peux courir iex -S mix pour exécuter iex avec les dépendances de votre projet de mixage actuel inclus. Vous pouvez en savoir plus à ce sujet sur http://elixir-lang.org/getting-started/mix-otp/introduction -to-mix.html

De là, vous pouvez exécuter des requêtes Ecto:

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

Fonctionnement iex -S mix phoenix.server va également démarrer le serveur Phoenix.

113
Gazler

Pour le débogage à l'exécution, (comme byebug ou debugger ou pry dans Rails), utilisez

require IEx en haut de votre modèle, de votre contrôleur ou de votre fichier de vues, puis tapez

IEx.pry à l'endroit où vous en avez besoin pour vous arrêter au moment de l'exécution et poursuivre le débogage.

Tapez h pour obtenir de l'aide à l'intérieur de la console

Après tout cela, redémarrez votre serveur avec:

iex -S mix phoenix.server

Plus d'infos: ici

26
Devaroop

Si vous travaillez dans le développement, utilisez iex -S mix phx.server.

Si vous avez besoin de la console d’une version déployée, accédez à votre répertoire de version et exécutez bin/<name of your app> remote_console pour ouvrir un shell distant sur la console de votre application.

2
Mark Wilbur