1
DreamCMS OP 想在后台做个表单生成器,但存储感觉有点难,请大神讲解一二
|
2
murmur 2022-04-11 14:52:25 +08:00
有什么难的呢,你可以说一下,除了搜索部分比较纠结,存储很简单的,直接用代码动态建表,不要管性能,也别管浪费,直接 select * 全弄出来,然后跟着前端 json 一套,就出来了,只要不是涉及计算的字段全给他 varchar 拉爆
子表也类似处理,这样就是子表不支持搜索,能搜性能也太差了 |
3
murmur 2022-04-11 14:54:46 +08:00
字段的 id 可以自动生成,直接 field1 ,input2 ,text3 ,datetime4 这样,或者随机,拼音自动转都行
|
4
DreamCMS OP @murmur 这样确实可以,存储是没多大问题,最主要的多建表 一个表单一个表太浪费了,最好可以设计三表关联起来就能存储,搜索起来也非常方便,我想到的是只能横向 kv 存储数据,但这样表单改动及搜索很不方便
|
5
murmur 2022-04-11 14:59:53 +08:00
|
6
DreamCMS OP @murmur 业务量不大这样设计确认也没问题,确认用起来也挺爽,但生成表越来越多的时候,类似金数据,我觉得应该不会这样设计吧
|
7
murmur 2022-04-11 15:07:05 +08:00 1
@DreamCMS 低代码、拖拽开发太多了,人家本身就是面向中小企业的,表多不是问题,你用列数据库行增长不也得考虑,企业审批就是业务固定字段巨多,别人一行存 30 个字段,你就得拆出 30 行了,用 kv 的话,行数据库还能保留个 date 类型,你用 kv ,真的全 string 啊
|
9
devswork 2022-04-11 15:26:56 +08:00
建议你看下 form-create 。存储字段的话,就是有组件表( id,component_type,label,options ),表单表( id,title ),表单结构表(id,form_id,component_id),业务数据表(id,form_id,component_data_json)
|