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

时间:2010-01-19 23:59:28

标签: ruby-on-rails console

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

6 个答案:

答案 0 :(得分:268)

您可能正在寻求:

ActiveRecord::Base.connection.tables

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

您应该在.irbrc内以较短的语法包装它们。

答案 1 :(得分:19)

我希望我迟到的答案可以提供一些帮助 这将转到rails数据库控制台。

rails db

漂亮打印您的查询输出

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

显示表格

.table

'。帮助'看到帮助。
或者使用“Select * from cars”等SQL语句

答案 2 :(得分:7)

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

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

答案 3 :(得分:4)

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

答案 4 :(得分:-1)

运行此:

Rails.application.eager_load! 

然后

ActiveRecord::Base.descendants

返回模型/表列表

答案 5 :(得分:-3)

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

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

再看......