1
tool2d 2022-11-15 16:12:12 +08:00
我看到过别人设计的 sql 系统,都是用单独一个表格,设计可变动的字段。虽然我个人觉得动态改改表结构,也没啥问题来着。
|
2
28Sv0ngQfIE7Yloe 2022-11-15 16:12:49 +08:00
这属于打 Tag 了吧?
|
3
K7TrSJryPNjj 2022-11-15 16:17:23 +08:00
EAV
|
4
ztxcccc 2022-11-15 16:23:46 +08:00
想想 CMS 是如何让用户定制字段的
|
5
clockwork1122 OP @tool2d 动态改表结构意味着需要改代码,例如是做 OA 平台,有 10 个公司,每个公司都有自己的模版,就太累了
|
6
clockwork1122 OP @ztxcccc 没接触过 CMS 系统,是我认识不准确吗,内容发布一般就标题、内容、之类的,字段还比较固定吧,觉得问卷调查系统更贴合需求
|
7
clockwork1122 OP @Morii 不是吧
|
8
clockwork1122 OP @K7TrSJryPNjj 谢老哥,我查查
|
9
RoninZc 2022-11-15 17:35:54 +08:00
http://jintang.zone/2021/08/31/%e5%8a%a8%e6%80%81%e5%ad%97%e6%ae%b5%e5%ad%98%e5%82%a8%e6%96%b9%e6%a1%88%e5%af%b9%e6%af%94.html
|
10
a546016387 2022-11-15 18:07:24 +08:00
@RoninZc #9 老哥博客是啥主题,挺好看的
|
11
clockwork1122 OP @RoninZc 感谢老哥
|
12
optional 2022-11-15 19:38:27 +08:00
你的需求那么明确了(类型对应固定的字段集合),那显然 json 是最合适的。
查询的时候,直接 type=? AND attrs->'?' == ? 就好(这里用 pg 的语法) |
13
zxfreedom 2022-11-15 19:42:01 +08:00
同楼上,可以用 json 试试
|
14
8rmEHZ8WhVHVOb0E 2022-11-15 19:53:28 +08:00
用 Nosql ,比如 MongoDB 就是专门搞这种的,每条数据属性都可以不同
|
15
wbrobot 2022-11-15 20:26:11 +08:00
@tool2d
直接用开源的无头 cms 啊, 如 directus 以前是 php 后端,现在全 nodejs 了, 还有 strapi 等等 或者类似的数据集管理库,如 supabase, 还有 go 开发的宣称单运行文件为特色的 pocketbase 如果要自己开发,就参考开源实现,很多啊 |
16
securityCoding 2022-11-15 22:06:10 +08:00
推荐用 mongo 之类的,用 mysql 纯属是找不自在
|
17
flankerfc 2022-11-15 22:31:25 +08:00
你的类型有多少。mongodb 肯定可以解决,mongodb 本身就是 document 数据库,没有 schema ,性能也足够。但是你需要有一套成熟的 ORM 框架。还有如果用 mongodb 你也要考虑到和其他数据表的 relation 。如果你已经很熟悉 mysql 或者 psql 了,用 json 类型其实也可以。或者就是单独一个表来保存扩展属性( key/value 的形式),这种就是读取数据时,要 join 联查出来
|
18
RoninZc 2022-11-16 09:54:58 +08:00
@a546016387 @clockwork1122 网上冲浪找的博客,主题是啥我也不知道😂
|
19
hperfect 2022-11-19 16:42:09 +08:00
postgresql 的表继承方案也可以了解一下, 我们公司用的就是这种方案
|