Rails: 如何使用 Rails 控制台列出数据库表/对象?

我想知道您是否可以列出/检查在 Rails 控制台中有哪些数据库/对象可用。我知道你可以看到他们使用其他工具,我只是好奇。 谢谢。

167098 次浏览

这是一个开始,它可以列出:

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

看起来更..。

你可能正在寻找:

ActiveRecord::Base.connection.tables

还有

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

您可能应该在 .irbrc中使用较短的语法包装它们。

要获得所有模型类的列表,可以使用 ActiveRecord::Base.subclasses

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

我希望我迟到的回答能有所帮助。
这将进入 Rails 数据库控制台。

rails db

漂亮地打印查询输出

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

展示一下桌子

.table

帮助看到帮助。
或者使用 SQL 语句,如“ Select * from car”

可以使用 rails dbconsole查看 Rails 应用程序正在使用的数据库。这是另一个答案 rails db。这两个命令都将指导您使用命令行接口,并允许您使用该数据库查询语法。

运行这个:

Rails.application.eager_load!

然后

ActiveRecord::Base.descendants

返回模型/表的列表