Saya baru belajar Phoenix dan Elixir dan saya berasal dari Ruby / Rails tempat saya bekerja di REPL menggunakan pry
untuk memeriksa database dan status aplikasi saya.
Saya mencoba mencari cara untuk berinteraksi dengan database dan model saya di aplikasi Phoenix. Saya mengetahuinya iex
, tetapi saya tidak tahu cara menggunakannya, periksa database aplikasi saya dari repl. Apakah saya perlu menghubungkannya dengan ecto setiap kali dari repl? Apakah ada yang rails console
setara. Saya telah memeriksa dokumen Phoenix, Dosis Elixir, dan repo Ecto, tetapi tidak dapat menemukan apa yang saya cari. Apakah saya melewatkan sesuatu?
Edit: Berdasarkan jawaban di bawah ini saya menemukan ini bagian dari dokumentasi ecto. Berdasarkan ini saya dapat melakukan sesuatu sepertiArticlesApi.Repo.all ArticlesApi.Article
sumber
alias ArticlesApi.{Repo, Article}
. Juga, perlu diingat bahwa Anda dapat dengan mudah mengkompilasi ulang modul individu dari konsol Anda (r Article
), atau mengkompilasi ulang seluruh proyek menggunakanrecompile
. Ini memungkinkan Anda untuk membiarkaniex
sesi terbuka sepanjang waktu, menjaga alias tetap aktif.Jawaban:
Anda dapat menjalankan
iex -S mix
untuk menjalankaniex
dengan dependensi dalam proyek campuran Anda saat ini yang disertakan .. Anda dapat membaca tentang ini di http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.htmlDari sana Anda dapat menjalankan kueri Ecto:
Berjalan
iex -S mix phoenix.server
juga akan memulai server phoenix.sumber
iex.exs
file di root proyek Anda untuk memungkinkan Anda mengatur alias (jadi Anda tidak harus mendahului semuanya denganMyApp.
). Contohnya adalah:alias MyApp.Repo alias MyApp.User alias MyApp.Car
bin/my_app remote_console
di shell jarak jauh Anda.iex -S mix phx.server
sejak Phoenix 1.3.Untuk debug waktu proses, (seperti
byebug
ataudebugger
ataupry
di rel), gunakanrequire IEx
di bagian atas model atau pengontrol atau file tampilan Anda, lalu ketikIEx.pry
ke mana pun Anda membutuhkannya untuk dihentikan saat runtime dan melanjutkan debugging.Ketik
h
bantuan di dalam konsolYang terpenting, setelah semua itu, restart server Anda dengan:
iex -S mix phoenix.server
Info lebih lanjut: di sini
sumber
Jika Anda sedang bekerja dalam pengembangan, gunakan
iex -S mix phx.server
.Jika Anda perlu masuk ke konsol rilis yang di-deploy, buka direktori rilis Anda dan jalankan
bin/<name of your app> remote_console
untuk membuka shell jarak jauh ke konsol aplikasi Anda.sumber