我正在查看文件上传宝石,似乎倾向于将所有资产放在单个"资产"表中并使用STI对它们进行子类化.像ImageAsset,VideoAsset,AudioAsset等等.
我是Rails的新手,我从未使用过STI.以前我刚才提出images,videos,audios单独的表.当然,他们可能会分享几个列,但我会说他们也会有一些不同的列(例如,采样率不适用于图像)
在一个"资产"表中填充所有这些的优点:更容易对所有资产运行查询.缺点:表格会变得更快.如果这是一个问题,我想我总是可以在"类型"列上进行分片.此外,我预计所有仅音频列在图像行等上将为空.
我的整个应用程序将基于资产,所以我想确保在做出决定之前我有优点和缺点.有没有人做过STI资产而后悔呢?有没有人做过而且没有后悔(对于大量的资产)?CTI(类表继承)会在这里成为更好的解决方案吗?
activerecord ruby-on-rails single-table-inheritance class-table-inheritance ruby-on-rails-3
activerecord ×1