我想知道您是否可以在Rails控制台中列出/检查可用的数据库/对象。我知道你可以使用其他工具看到它们,我只是很好奇。 感谢。
答案 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
再看......