【发布时间】:2013-01-17 18:34:47
【问题描述】:
我有这个场景,我需要一些设计建议,也许是一些结构定义:
我有一个可以上传 csv 文件的用户,我必须根据该文件的内容来填充数据库,听起来很简单 - 嗯!
到目前为止一切顺利,现在问题是这个 csv 非常大,我的意思是它有大约 100 多个标题字段(听起来很疯狂),谁知道每个文件有多少记录,但无论如何,到目前为止我们有这个csv 上传和数据库填充。但是等等,这个 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插件和一些后台作业集成来完成所有处理和类型检查背景。
我需要一些数据库设计/结构方面的帮助,因为我是新手。非常感谢任何帮助,:)。
问候
【问题讨论】:
标签: ruby-on-rails validation csv carrierwave uploading