我需要使用公共政府数据表,通过csv导入我的rails应用程序中的表(使用postgresql)。所讨论的表使用固定长度的12位数字字符串(通常具有至少一个前导零)作为其主键。我觉得好像我有三个选择:
我担心做出选择1因为我可能需要至少每年重新导入一次政府数据批发,因为它会更新以保持我的数据库最新。如果添加和删除记录,重新导入后确保rails主键保留正确的记录似乎真的很复杂
选择2似乎是要走的路,(它会解决重新导入问题),但我不清楚如何去做。它是否像告诉rails将该列导入为整数一样简单?
选择3似乎可行,但在我在其他地方读到的帖子中,它并不是一个非常“顽固”的方式。
我欢迎任何建议或解决方案。
更新
我最终使用了选择1,这是正确的选择。那是因为我是rails的新手,并且以为我会做一些直接的,批量导入(在后端,直接进入Postgresql)会让我遇到上面描述的问题。但是,我查看了Railscast 369,它解释了如何在应用程序中构建csv导入功能作为最终用户功能。这非常容易,这就是我的所作所为。通过这种方式执行操作,应用程序执行逐行导入,因此可以在该级别内置相应的检查。