[ruby-on-rails] Rails : Rails 콘솔을 사용하여 데이터베이스 테이블 / 객체를 나열하는 방법은 무엇입니까?

Rails 콘솔에서 어떤 데이터베이스 / 객체를 사용할 수 있는지 나열 / 검토 할 수 있는지 궁금합니다. 다른 도구를 사용하여 볼 수 있다는 것을 알고 있습니다. 궁금합니다. 감사.



답변

당신은 아마 찾고 있습니다 :

ActiveRecord::Base.connection.tables

ActiveRecord::Base.connection.columns('projects').map(&:name)

아마 당신의 내부에 더 짧은 구문으로 포장해야합니다 .irbrc.


답변

늦은 답변이 도움이 되길 바랍니다.
레일 데이터베이스 콘솔로 이동합니다.

rails db

쿼리 출력을 예쁘게 인쇄

.headers on
.mode columns
(turn headers on and show database data in column mode )

테이블 표시

.table

도움말을 보려면 ‘.help’
또는 ‘Select * from cars’와 같은 SQL 문을 사용하십시오.


답변

모든 모델 클래스의 목록을 얻으려면, 당신은 사용할 수 있습니다 ActiveRecord::Base.subclasses예를 들어,

ActiveRecord::Base.subclasses.map { |cl| cl.name }
ActiveRecord::Base.subclasses.find { |cl| cl.name == "Foo" }


답변

rails dbconsolerails 애플리케이션이 사용중인 데이터베이스를 보는 데 사용할 수 있습니다 . 다른 답변 rails db입니다. 두 명령 모두 명령 행 인터페이스를 지시하고 해당 데이터베이스 쿼리 구문을 사용할 수있게합니다.


답변

이것을 실행하십시오 :

Rails.application.eager_load! 

그때

ActiveRecord::Base.descendants

모델 / 테이블 목록을 반환하려면


답변

시작이며 다음과 같이 나열 할 수 있습니다.

models = Dir.new("#{RAILS_ROOT}/app/models").entries

좀 더보고 …


답변