在开发SAAS平台时,有时候需要为某个业务表预留用户可以自定义的字段,我们一般采用预留出6个自定义字段的设计方式,比如设计表CostCourse时,多设计出 UDF1-UDF6的字符串字段,一旦需求需要增加字段的时候,不必再手动修改表的结构,只需要看情况使用这6个字段即可。这种场景的弊端是6个字段可能不够,或者这些字段的类型只能定死为varchar2,有没有更好的办法实现呢?
1、设计一个扩展词典表
第一种方案采用扩展表方案。为了更大弹性的对最终用户开放自定义字段,我们可以设计一个扩展词典表。其格式如下所示
CREATE TABLE `extend_info` (
`ID` bigint(20) NOT NULL