Ruby on rails 对于使用固定长度字符串作为id的导入公共数据表,是否应该使用rails整数id?
我需要使用公共政府数据表,通过csv导入,作为rails应用程序中的表(使用postgresql)。该表使用固定长度的12位数字字符串(通常至少有一个前导零)作为主键。我觉得在这里我有三个选择:Ruby on rails 对于使用固定长度字符串作为id的导入公共数据表,是否应该使用rails整数id?,ruby-on-rails,ruby,postgresql,csv,database-design,Ruby On Rails,Ruby,Postgresql,Csv,Database Design,我需要使用公共政府数据表,通过csv导入,作为rails应用程序中的表(使用postgresql)。该表使用固定长度的12位数字字符串(通常至少有一个前导零)作为主键。我觉得在这里我有三个选择: 在导入时添加rails生成的整数主键 要求rails将字符串解释为整数,并将其用作主键 强制rails将字符串用作主键(然后,在其他关联表中也用作外键) 我担心做选择1,因为我可能需要至少每年重新批量导入这个政府数据,因为它会更新,以保持我的数据库最新。如果记录被添加和删除,那么在重新导入后确保rail
我最终使用了选项1,这是一个正确的选择。这是因为我对rails还不熟悉,本来以为我会做一些直接的批量导入(在后端,直接导入Postgresql)会给我留下上面描述的问题。但是,我查看了Railscast 369,它解释了如何将csv导入功能作为最终用户功能构建到应用程序中。这非常容易,我就是这么做的。这样做的结果是,应用程序执行逐行导入,因此可以在该级别内置适当的检查。研究编写外部数据包装器。然后创建一个物化视图,将其完全拉入,以便在没有任何网络开销的情况下操作本地数据。然后每隔一段时间刷新一次。重要的事情:-使用一个整数作为主键,这样您就可以快速查询表。-有一种从传入寄存器中确定主键的方法。你可以把你所说的那根弦换成另一个领域,只要它是独一无二的。这几乎肯定超出了我目前仍然微薄的能力。总有一天。。。Louis Ortega Araneda&mu太短了:根据我的更新,这是我使用的解决方案。谢谢大家的帮助!