我正在尝试导出有关我的Rails应用程序(由Heroku托管)的用户的信息。我按照本教程导出CSV文件:
https://coderwall.com/p/jwtxjg
这涉及以下内容:
连接到gres后数据库:
psql“dbname = foo host = bar.compute-1.amazonaws.com user = abc password = 123 port = 5432 sslmode = require”
运行查询:
\ copy(SELECT id,sign_in_count,last_sign_in_at,created_at FROM users)to dump.csv CSV DELIMITER','
这会将CSV文件导出到我当前的目录。
但是,我还想在查询中包含一个关联模型 - 例如,在我的应用中,用户创建了项目,我想导出每个用户创建的项目数。
如何更新我的查询才能执行此操作?
答案 0 :(得分:0)
您尝试添加与给定user_id匹配的注册表计数(假设有一个名为user_id的字段)。像这样:
\ copy(SELECT u.id,u.sign_in_count,u.last_sign_in_at,u.created_at, COUNT(p.project) 来自用户u,项目p 在哪里p.user_id = u.id GROUP BY u.id,u.sign_in_count,u.last_sign_in_at u.created_at)to dump.csv CSV DELIMITER','
假设在Users表中每个用户只有一个注册表,这应该可行。