我所说的用户增加自定义字段,是指最终用户可以通过配置等手段,可以在界面上增加各种类型的想要的字段,这个字段可以用来存储和查询。
例如:有一个客户信息表,原来只有名称和地址,客户想自己添加,生日,分类,地区等字段。
添加完的字段要达到:
1)能保存
2)能查询
3)能用来排序
4)能用来分组统计
我所见到的做法,一般都是通过表里预留字段来做得,例如cust01,cust02等,各种类型都预留一些,一种是直接增加了另一张表,比如xxxx_ext表,里面有大量的cust01,cust02等。
这样作的缺点是,
1)数量是固定的,一旦某个类型的字段,我要添加一大堆,就可能碰到限制了。
2)可读性很差,看数据库的时候,会看到一堆不知道是什么东西的数据,还要找对应关系。
不知道能不能把这些字段和字段表述做成视图呢?
3)扩展表的方法会多做一次join,影响效率。
我考虑是不是还有其他的方法。
1)是否可以使用XML。所有自定义的数据都写到XML里面,然后利用数据库提供的XML功能。我不了解数据库提供的XML功能,请有经验的朋友解答一下。
2)和上面类似,使用一个text字段。不过内容可以用其他的格式,比如yaml或者json。比上面的优点是占用空间小了。然后写个函数,专门从里面根据字段名取数据,然后基于这个函数作查询,排序,分组。
3)能不能用动态的DDL,或者自动生成rails的migration,然后停机升级。
不知道大家都是怎么作的?有没有更好的方案?
强调一下,我说的情况是,你把程序开发完了,交给客户,需要给客户提供一个可以自定义字段的功能,然用户增加一些他想要的字段,这个过程中开发人员不再参与.
大家说自己的方案的时候,最好能够简单描述一下优缺点.
分享到:
相关推荐
jira自定义字段
WatersEmpower软件如何自定义字段操作说明.pdf
S4 HANA MSEG 增加自定义字段和MSEG扩展字段.docx
c#导出导入excel 自定义字段 自定义列 OleDb方式的excel导入 可以实现自定义字段,不按照模版的方式导出
K3单据自定义字段复制工具
c#中动态加载水晶报表自定义字段
net6 控制台+ log4net+写数据库+自定义字段
Sharepoint 自定义字段类型 留下记录,也许以后有用
详细介绍 采购申请行项目屏幕增强&BAPI传入自定义字段
C# 将数据导出到excel模板 自定义字段 excel表格可复杂 解压密码: www.shcodetool.cn
简单方便的在线报名完整无错自定义字段 用户 密码 admin
应用场景:基础资料下物料或客户资料中增加自定义字段保存时提示“名称不能为特殊字符” 症状或实现方案:在物料中增加自定义字段,名称为一部车间,保存时提示“名称不能为特殊字符”,修改客户的税率默认值时,...
java实体类字段自定义-数据库字段和程序实体类属性不一致解决方案.docx
net ef mvc log4net自定义属性/字段增加,本方法简单易懂,不用做太多的变动,主要利用了log4net.GlobalContext.Properties方法进行,简单实用。 文档漏了一个,commandText的value进行修改,将自定义字段加入
Liferay 自定义字段介绍,全英文的。
WordPress插件 Advanced Custom Fields Pro 高级自定义字段插件,版本号6.0.5,基本上能解决所有后台自定的问题,例如图片置顶,相册功能,编辑页面自定义,等等;强大到无法想象 新版本中界面发生了很大的变化,...
主要描述了SAP标准报表要如何增加自定义字段的方法介绍
一个企业里常用的vba工具,可以将一个表的数据,自定义要抽取的数据字段,抽取到另一个表中。 包含演示数据 不用修改代码即可使用,超好用!
关于字段增强关于字段增强关于字段增强关于字段增强关于字段增强关于字段增强