有没有可能把一个数据库的 text field 变成可拓展、易阅读的数据格式?

2022-11-05 09:47:21 +08:00
 nowheremanx
和另一个部门对接的时候,经常因为业务需求的改变,需要增加或者修改数据库的 field 。

比如 People 这个 table ,原先 firstName, lastName ;后来要增加学历,就增加了一个 education ;后来需要 tag ,就让对方加了一个 tag 表等等。

每次增加 feature 都要等挺久的,所以想申请一个 TEXT field ,然后自己定一个数据格式进行存储。一般来说都希望用 JSON ,但是很多用户喜欢在网页上修改,所以 JSON 这个格式不太自由,也不好阅读。本来 XML 这种格式不错,但是特殊符号的处理很麻烦,比如“<>”也不可能让用户边查边写。

目前想到的是 TOML 格式,支持很多数据类型,也支持 comment 。

====
一些自由文本
{start indicator}
“TOML 文本”
[basic]
fisrtName = "小明"
lastName = "王"

[advanced]
tags = ["程序员", “大牛”]
# 学历可能不准确,稍后校对
education = ["北大青鸟", "山东蓝翔"]
travel = "Beijing <> Shanghai"
{end indicator}
一些自由文本
====

这样一来,我在后台处理的时候,可以根据 indicator 截取 TOML 文本,并转换成 JSON 这类通用格式。如此一来,序列化、反序列化都容易实现。 自由文本则是留给用户,有更多修改余地。


不知道这样做有没有坑,或者还有没有更好的数据格式?
2239 次点击
所在节点    程序员
21 条回复
nowheremanx
2022-11-06 10:31:58 +08:00
@akira 确实是一个很大的坑,也不 elegant 。同时,我也担心未来业务和代码搭建在这上面会带来很多风险,那就属于重大决策失误了。

这个小项目也是在构思阶段,过来问问主要想看有没有成熟的解决方案。 目前为止没看到合适的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/892842

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX