Eu queria saber se você poderia listar / examinar quais bancos de dados / objetos estão disponíveis para você no console do Rails. Eu sei que você pode vê-los usando outras ferramentas, só estou curioso. Obrigado.
Eu queria saber se você poderia listar / examinar quais bancos de dados / objetos estão disponíveis para você no console do Rails. Eu sei que você pode vê-los usando outras ferramentas, só estou curioso. Obrigado.
Respostas:
Você provavelmente está procurando:
ActiveRecord::Base.connection.tables
e
ActiveRecord::Base.connection.columns('projects').map(&:name)
Você provavelmente deve envolvê-los em uma sintaxe mais curta dentro do seu .irbrc
.
table_structure
parece ser específico para o adaptador sqlite.
Espero que minha resposta tardia possa ser de alguma ajuda.
Isso irá para o console do banco de dados do Rails.
rails db
bonita imprimir sua saída da consulta
.headers on
.mode columns
(turn headers on and show database data in column mode )
Mostrar as tabelas
.table
'.help' para ver ajuda.
Ou use instruções SQL como 'Select * from cars'
Para obter uma lista de todas as classes de modelo, você pode usar, ActiveRecord::Base.subclasses
por exemplo,
ActiveRecord::Base.subclasses.map { |cl| cl.name }
ActiveRecord::Base.subclasses.find { |cl| cl.name == "Foo" }
ActiveRecord::Base.descendants.map(&:name)
Você pode usar rails dbconsole
para visualizar o banco de dados que seu aplicativo rails está usando. É uma resposta alternativa rails db
. Ambos os comandos direcionarão a interface da linha de comandos e permitirão o uso dessa sintaxe de consulta ao banco de dados.
É um começo, ele pode listar:
models = Dir.new("#{RAILS_ROOT}/app/models").entries
Procurando um pouco mais ...