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_structuresemble ê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.subclassespar 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 dbconsolepour 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 ...