web-dev-qa-db-fra.com

Rails: Comment lister les tables/objets de base de données à l'aide de la console Rails?

Je me demandais si vous pouviez répertorier/examiner quelles bases de données/objets sont disponibles dans la console Rails. Je sais que vous pouvez les voir en utilisant d'autres outils, je suis simplement curieux ... Merci.

127
rtfminc

Vous recherchez probablement:

ActiveRecord::Base.connection.tables

et

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

Vous devriez probablement les envelopper dans une syntaxe plus courte dans votre .irbrc.

264
cwninja

J'espère que ma réponse tardive pourra être utile.
Cela ira à la console de base de données Rails. 

Rails db

joli imprimer votre sortie de la requête 

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

Montrer les tables 

.table

'.help' pour voir l'aide.
Ou utilisez des instructions SQL telles que 'Select * from cars'

19
hamster ham

Pour obtenir la 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" }
7
DomQ

Vous pouvez utiliser Rails dbconsole pour afficher la base de données utilisée par votre application Rails. C'est la réponse alternative Rails db. Les deux commandes vous dirigeront l’interface de ligne de commande et vous permettront d’utiliser la syntaxe de cette requête.

3
Ralf Rafael Frix

Lance ça: 

Rails.application.eager_load! 

Ensuite

ActiveRecord::Base.descendants

Pour renvoyer une liste de modèles/tables

0
user5783745