Rails Console과 동등한 Phoenix가 있습니까?


93

저는 Phoenix와 Elixir를 배우고 있으며 Ruby / Rails에서 pry데이터베이스 및 애플리케이션 상태를 검사 하는 데 사용하는 REPL에서 일하고 있습니다.

Phoenix 앱에서 데이터베이스 및 모델과 상호 작용하는 방법을 알아 내려고합니다. 알고 iex있지만 repl에서 내 앱의 데이터베이스를 검사하는 방법을 모르겠습니다. repl에서 매번 ecto와 연결해야합니까? rails console동등한 것이 있습니까? Phoenix 문서, Elixir Dose 및 Ecto repo를 확인했지만 원하는 것을 찾을 수 없습니다. 내가 뭔가를 놓치고 있습니까?

편집 : 아래 답변 에 따라 ecto 문서 의이 섹션을 찾았습니다 . 이것을 바탕으로 나는 다음과 같은 것을 할 수 있습니다.ArticlesApi.Repo.all ArticlesApi.Article


2
모듈 이름의 별칭을 지정하여 입력을 절약 할 수 있습니다 alias ArticlesApi.{Repo, Article}.. 또한 콘솔 ( r Article) 에서 개별 모듈을 매우 편리하게 재 컴파일 하거나를 사용하여 전체 프로젝트를 재 컴파일 할 수 recompile있습니다. 이렇게하면 iex별칭을 활성 상태로 유지하면서 세션을 항상 열어 둘 수 있습니다 .
hmans

답변:


121

당신은 실행할 수있는 iex -S mix실행 iex당신은에 이것에 대해 읽을 수 있습니다 .. 포함 현재 믹스 프로젝트의 종속성 http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html

거기에서 Ecto 쿼리를 실행할 수 있습니다.

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

실행 iex -S mix phoenix.server하면 피닉스 서버도 시작됩니다.


8
또한 iex.exs별칭을 설정할 수 있도록 프로젝트 루트 에있는 파일 의 편의성에 주목할 가치가 있습니다 (따라서 모든 항목 앞에를 붙일 필요가 없습니다 MyApp.). 예를 들면 다음과 같습니다. alias MyApp.Repo alias MyApp.User alias MyApp.Car
David Kuhta

2
프로덕션 환경에서 사용할 수있는 방법이 있습니까?
Chris.Zou 2011

@ Chris.Zou 예, bin/my_app remote_console원격 셸에서 사용 합니다.
Nic Nilov

3
이것은 실제로 iex -S mix phx.serverPhoenix 1.3 이후입니다.
okay56k

27

런타임 디버깅, (같은 들어 byebugdebugger또는 pry에서 레일), 사용

require IEx 모델이나 컨트롤러 또는 뷰 파일의 맨 위에 다음을 입력합니다.

IEx.pry 런타임시 중지하고 디버깅을 계속하기 위해 필요한 곳으로 이동합니다.

h콘솔 내부에 도움말 입력

가장 중요한 것은 그 후 다음과 같이 서버를 다시 시작하는 것입니다.

iex -S mix phoenix.server

더 많은 정보 : 여기


4

개발중인 경우 iex -S mix phx.server.

배포 된 릴리스의 콘솔로 이동해야하는 경우 릴리스 디렉터리로 이동하여 실행 bin/<name of your app> remote_console하여 앱 콘솔에 대한 원격 셸을 엽니 다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.