Есть ли Феникс, эквивалентный консоли Rails


Я просто изучаю Феникс и эликсир, и я иду из Ruby / Rails, где я работаю в REPL, используя pry для проверки состояния моей базы данных и приложения.

Я пытаюсь выяснить, как взаимодействовать с моей базой данных и моделями в приложении Phoenix. Я в курсе iex, но я не знаю, как использовать его проверить базу данных моего приложения из repl. Нужно ли мне подключаться к нему с ecto каждый раз из repl? Есть ли rails console эквивалентны. Я проверил документы Феникса, эликсир Доза и Ecto repo, но не могу найти то, что я ищу. Я что-то упустил?

Edit: на основе ответа ниже я нашел этой раздел документов ecto. Исходя из этого я могу сделать что-то вроде ArticlesApi.Repo.all ArticlesApi.Article

3 81

3 ответа:

вы можете запустить iex -S mix для выполнения iex с зависимостями в текущем проекте mix включены.. Вы можете прочитать об этом в http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html

оттуда вы можете выполнять запросы Ecto:

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

под управлением iex -S mix phoenix.server также запустится сервер phoenix.

для отладки во время выполнения, (например byebug или debugger или pry в рельсы), используйте

require IEx в верхней части файла модели или контроллера или взгляды, то типа

IEx.pry туда, где вам нужно остановиться во время выполнения и продолжить отладку.

тип h за помощью в консоли

самое главное, после всего этого перезагрузите ваш сервер:

iex -S mix phoenix.server

Подробнее: здесь

Если вы работаете в разработке, используйте iex -S mix phx.server.

Если вам нужно в консоль развернутого выпуска, перейдите в каталог выпуска и запустите bin/<name of your app> remote_console открыть удаленную оболочку для консольного приложения.