Rails: как отобразить таблицы/объекты базы данных с помощью консоли Rails?

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

Ответ 1

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

ActiveRecord::Base.connection.tables

и

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

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

Ответ 2

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

rails db

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

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

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

.table

'. help', чтобы увидеть справку. Или используйте инструкции SQL, такие как "Выбрать * из автомобилей"

Ответ 3

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

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

Ответ 4

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

Ответ 5

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

Rails.application.eager_load! 

Тогда

ActiveRecord::Base.descendants

Чтобы вернуть список моделей/таблиц

Ответ 6

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

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

Посмотрите еще...