Rails: Как составить список таблиц / объектов базы данных с помощью консоли Rails? - PullRequest
135 голосов
/ 20 января 2010

Мне было интересно, можете ли вы перечислить / изучить, какие базы данных / объекты вам доступны в консоли Rails.Я знаю, что вы можете увидеть их, используя другие инструменты, мне просто любопытно.Спасибо.

Ответы [ 6 ]

270 голосов
/ 20 января 2010

Вы, вероятно, ищете:

ActiveRecord::Base.connection.tables

и

ActiveRecord::Base.connection.table_structure("projects")

Возможно, вам следует заключить их в более короткий синтаксис внутри вашего .irbrc.

19 голосов
/ 25 ноября 2015

Я надеюсь, что мой поздний ответ может помочь.
Это пойдет в консоль базы данных rails.

rails db

довольно распечатать ваш запрос вывода

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

Показать таблицы

.table

'. Help' чтобы увидеть помощь.
Или используйте операторы SQL, такие как «Выбрать * из автомобилей»

7 голосов
/ 10 апреля 2015

Чтобы получить список всех классов моделей, вы можете использовать ActiveRecord::Base.subclasses например

ActiveRecord::Base.subclasses.map { |cl| cl.name }
ActiveRecord::Base.subclasses.find { |cl| cl.name == "Foo" }
4 голосов
/ 22 сентября 2016

Вы можете использовать rails dbconsole для просмотра базы данных, которую использует ваше приложение rails.Это альтернативный ответ rails db.Обе команды направят вас в интерфейс командной строки и позволят вам использовать синтаксис запроса к базе данных.

0 голосов
/ 22 июня 2018

Запустите это:

Rails.application.eager_load! 

Затем

ActiveRecord::Base.descendants

Для возврата списка моделей / таблиц

0 голосов
/ 20 января 2010

Это начало, он может перечислить:

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

Ищем еще ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...