首页 文章

从Rails postgres数据库导出CSV - 添加关联

提问于
浏览
0

我正在尝试导出有关我的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文件导出到我当前的目录 .

但是,我还想在查询中包含一个关联的模型 - 例如,在我的应用程序中,用户创建了项目,并且我想导出每个用户创建的项目数 .

如何更新我的查询来执行此操作?

1 回答

  • 0

    您将尝试添加与给定user_id匹配的注册表计数(假设有一个名为user_id的字段) . 像这样的东西:

    \ copy(SELECT u.id,u.sign_in_count,u.last_sign_in_at,u.created_at,count(p.project)FROM users u,projects p WHERE 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表中每个用户只有一个注册表,这应该可行 .

相关问题