Je me demandais si vous pouviez lister / examiner les bases de données / objets disponibles dans la console Rails. Je sais que vous pouvez les voir en utilisant d'autres outils, je suis juste curieux. Merci.
Je me demandais si vous pouviez lister / examiner les bases de données / objets disponibles dans la console Rails. Je sais que vous pouvez les voir en utilisant d'autres outils, je suis juste curieux. Merci.
Réponses:
Vous recherchez probablement:
ActiveRecord::Base.connection.tables
et
ActiveRecord::Base.connection.columns('projects').map(&:name)
Vous devriez probablement les envelopper dans une syntaxe plus courte dans votre fichier .irbrc
.
table_structure
semble être spécifique à l'adaptateur sqlite.
J'espère que ma réponse tardive pourra vous être utile.
Cela ira à la console de base de données rails.
rails db
pretty print votre sortie de requête
.headers on
.mode columns
(turn headers on and show database data in column mode )
Montrez les tableaux
.table
'.help' pour voir de l'aide.
Ou utilisez des instructions SQL telles que 'Select * from cars'
Pour obtenir une liste de toutes les classes de modèle, vous pouvez utiliser ActiveRecord::Base.subclasses
par exemple
ActiveRecord::Base.subclasses.map { |cl| cl.name }
ActiveRecord::Base.subclasses.find { |cl| cl.name == "Foo" }
ActiveRecord::Base.descendants.map(&:name)
Vous pouvez utiliser rails dbconsole
pour afficher la base de données utilisée par votre application rails. C'est une réponse alternative rails db
. Les deux commandes vous dirigeront vers l'interface de ligne de commande et vous permettront d'utiliser cette syntaxe de requête de base de données.
C'est un début, il peut lister:
models = Dir.new("#{RAILS_ROOT}/app/models").entries
En regardant un peu plus ...