我是Codeigniter开发人员,对于我的一个项目,我需要使用Rails而不是CI。我有一个具有30多个表的数据库,将来可能会添加更多表。我的任务是获取所有这些表,并以条形图的形式单独显示它们。
我所知道的关于Rails的知识是使用具有主动记录的控制器和模型来获取数据。我不想为每个表创建单个模型。因此,我想知道是否有更好的解决方案,例如要求Rail在数据库中查找可用表,并根据请求的URI提供了来自表的数据。
使用活动记录,您可以直接使用:
直接运行SQLActiveRecord::Base.connection.select_all(sql)
所以,如果我理解您的问题,您想在DB中获取表格列表,可以在Postgres上这样做:
sql = "SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';"
table_names = ActiveRecord::Base.connection.select_all(sql)
table_names.to_a
# => [{"table_name"=>"orders"},
# {"table_name"=>"plans"},
# {"table_name"=>"products"},
# {"table_name"=>"services"},
# {"table_name"=>"users"},
# {"table_name"=>"schema_migrations"}]