Phoenix eşdeğeri Rails Console var mı


96

Phoenix ve Elixir'i yeni öğreniyorum ve pryveritabanımı ve uygulama durumumu incelemek için kullanarak REPL'de çalıştığım Ruby / Rails'den geliyorum .

Bir Phoenix uygulamasında veritabanım ve modellerimle nasıl etkileşim kuracağımı anlamaya çalışıyorum. Farkındayım iex, ancak onu nasıl kullanacağımı bilmiyorum uygulamamın veritabanını repl'den inceleyin. Repl'den her seferinde ona ecto ile bağlanmam gerekir mi? rails consoleEşdeğeri var mı ? Phoenix belgelerini, Elixir Dozunu ve Ecto deposunu kontrol ettim, ancak aradığımı bulamıyorum. Bir şey mi kaçırıyorum?

Düzenleme: Aşağıdaki cevaba göre ecto belgelerinin bu bölümünü buldum . Buna dayanarak şöyle bir şey yapabilirimArticlesApi.Repo.all ArticlesApi.Article


2
Sen modül isimleri aliasing bazı yazarak kaydedebilirsiniz: alias ArticlesApi.{Repo, Article}. Ayrıca, konsolunuzdan ( r Article) tek tek modülleri çok rahat bir şekilde yeniden derleyebileceğinizi veya kullanarak tüm projeyi yeniden derleyebileceğinizi unutmayın recompile. Bu, iextakma adları etkin tutarak bir oturumu her zaman açık bırakmanıza olanak tanır .
hmans

Yanıtlar:


122

Kaçabilirsiniz iex -S mixçalıştırmak için iexSen de bu okuyabilirsiniz .. dahil mevcut karışımı projesinde bağımlılıkları ile http://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html

Oradan Ecto sorgularını yürütebilirsiniz:

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

Çalıştırmak iex -S mix phx.serveraynı zamanda phoenix sunucusunu da başlatacaktır.


8
Ayrıca, iex.exstakma adlar ayarlamanıza izin vermek için projenizin kökünde bulunan bir dosyanın rahatlığına dikkat çekmek önemlidir (böylece her şeyden önce gelmek zorunda kalmazsınız MyApp.). Bir örnek şöyle olabilir: alias MyApp.Repo alias MyApp.User alias MyApp.Car
David Kuhta

2
Bunu üretim ortamında kullanmamın bir yolu var mı?
Chris.Zou

@ Chris.Zou Evet, bin/my_app remote_consoleuzaktaki kabuğunuzda kullanın .
Nic Nilov

3
Bu aslında iex -S mix phx.serverPhoenix 1.3'ten beri.
okay56k

27

Çalışma zamanı hata ayıklama, (benzeri byebugveya debuggerveya pryiçinde raylar), kullanım

require IEx modelinizin veya denetleyicinizin veya görünümler dosyanızın en üstüne yazın ve ardından

IEx.pry çalışma zamanında durmak ve hata ayıklamaya devam etmek için ihtiyacınız olan yere.

Tip hkonsolun içindeki yardım

En önemlisi, tüm bunlardan sonra sunucunuzu şu şekilde yeniden başlatın:

iex -S mix phoenix.server

Daha fazla bilgi: burada


4

Geliştirme aşamasında çalışıyorsanız, kullanın iex -S mix phx.server.

Dağıtılmış bir sürümün konsoluna ihtiyacınız varsa, yayın dizininize gidin ve bin/<name of your app> remote_consoleuygulamanızın konsoluna bir uzak kabuk açmak için çalıştırın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.