我有这种情况,我需要一些设计建议,也许是一些结构定义:
我有一个可以上传 csv 文件的用户,并且根据该文件的内容,我必须填充数据库,听起来很简单 - 嗯!
好的,到目前为止一切都很好,现在问题是这个 csv 非常大,我的意思是它有大约 100 多个标题字段(听起来很疯狂),谁知道每个文件有多少记录,但无论如何,到目前为止,我们已经上传了这个 csv db 人口。但是等等,这个 csv 文件需要根据一个字段(“DIVISION”)进行分类/分类。Division 是一个整数列,根据它的值,我需要确定这个 csv 属于哪个 Division。到目前为止,我们有以下要求:
=> CSV file uploading
=> File classification based on div id
=> record insertion
事情还没有解决。Division 本身进一步分为两种类型:REGULAR 和 PROMO
我有样本,其中每种类型都有标题。所以我们现在还需要识别这个csv属于哪个分区类型,然后开始处理。
=> CSV file uploading
=> File classification based on div id and headers (counting and matching the headers for div-sub type using some already defined hash of headers for each division)
因此,在识别文件后,即文件属于哪个部门和子类型后,我需要对字段进行一些验证,例如存在,然后进行一些格式检查等。
我想使用carrierwave进行文件上传,使用smarter_csv gem进行csv处理,然后使用一些jquery插件进行前端文件处理和上传进度,例如jquery.fileupload插件和一些后台作业集成,以在后台进行所有处理和类型检查。
我需要一些数据库设计/结构帮助,因为我是新手。非常感谢任何帮助,:)。
问候