写在前面
v1.4.0 加了文档管理,大家反馈还不错。时隔一周,v1.4.1 又来了。
这个版本没有加什么炫酷的新功能,主要是在把之前一些做得不够到位的地方补了补,集中搞了三件事:让 PostgreSQL 用户能用起来、把关联字段做完整、把导入数据的体验搞好,并同步做了一些使用体验优化。
一、PostgreSQL v13+ 支持:不再是 SQLite 专属
之前 SmartTable 默认用的是 SQLite,虽然轻量方便,但对于正经上线的场景,大家还是希望用 PostgreSQL。毕竟 PostgreSQL 在并发、安全、数据完整性方面要比 SQLite 靠谱得多,特别是对大批量数据的处理能力更强。
此前 SmartTable 也支持 PostgreSQL,但是之前有些问题没有处理好,导致 PostgreSQL 下运行不正常。这次我们把 PostgreSQL 的兼容性问题系统性地修了一遍。主要几个方面:
- 时区问题
:PostgreSQL 对时区比较敏感,之前有些 datetime 字段时区没处理好,存进去的数据和读出来的时间对不上。这次把所有 datetime 字段统一改成了带时区的类型。
- UUID 处理
:PostgreSQL 的 UUID 类型和 SQLite 不太一样,之前的代码在 PostgreSQL 下会有兼容问题,这次统一做了适配。
现在 PostgreSQL v13 以上的版本都可以正常跑了。
想用 PostgreSQL 的话,调整.env配置环境变量即可:
DATABASE_URL=postgresql://user:password@host:5432/smart_table
您可以使用安装模式或者docker模式来部署 PostgreSQL。另外,PostgreSQL 可以在EnterpriseDB提供的下载页面:
https://www.enterprisedb.com/download-postgresql-binaries
。在这里找到对应平台的PostgreSQL 13以上版本,下载并解压即可。这个版本的 PostgreSQL 支持支持Windows和MacOS下的免安装二进制包。
二、关联字段:终于可以”解除关联”了
关联字段是 SmartTable 里一个很重要的功能——你可以把两个表之间的记录关联起来,比如”订单”关联”客户”,”任务”关联”负责人”。
但之前有个问题:关联上了就解不开了。建错了关联,或者业务变了想把关联断开,没办法。
v1.4.1 加了”解除关联”功能,现在你可以随时断开两条记录之间的关联了。
另外,双向关联也完善了。之前 A 表关联 B 表的时候,B 表那边不一定能同步看到关联信息,现在双向同步更准确了。同时还修了几个关联字段在不同场景下的显示问题。
三、批量导入:一次录一批,不用一条一条加
之前往表里加数据,要么一条一条手动录入,要么用导入功能从 Excel 文件里导。
这次新增了批量导入功能,在数据表里可以直接批量粘贴数据,一次性创建多条记录。对于需要快速录入大量数据的场景(比如从别的地方复制过来的数据),这个功能应该能省不少时间。
四、交互体验上的几个小优化
除了上面几个大块,这次还有一些零零碎碎但是用起来能感觉到变舒服的地方,比如:
时区不用自己配了
之前如果你不手动配置时区,系统展示的时间可能跟你本地时间对不上。现在好了——默认不配时区的情况下,系统会自动用你浏览器的本地时区来显示时间。大部分人开机直接用,不会再遇到时间不对的问题。
其他还有一些小优化,欢迎试用体验。
五、Bug 修复一览
每次版本都会修一批 bug,这次也不例外:
问题
啥情况
PostgreSQL 兼容
修了一堆 PostgreSQL 下才能踩到的坑,现在 v13+ 都能跑
附件文件名显示
附件显示的时候用错了字段,文件名不对,已修正
二级缓存丢数据
大批量请求时偶尔会漏掉部分缓存数据,已修复
.env 路径不对
某些部署方式下 env 文件加载路径有偏差,已修正
终端编码乱码
后端终端输出有编码问题,已搞定
代码逻辑优化
修了几个类型兼容和数据一致性的小问题
时区兼容
datetime 字段统一改成带时区类型,杜绝时区转换错误
批量加载数据异常
修复了大批量加载数据时偶尔会有部分数据缺失的问题
六、SmartTable 是什么?
SmartTable 是一个开源的多维表格管理系统,你可以把它理解为可以自己搭建的 Airtable/飞书多维表格。数据表格、表单收集、仪表盘分析、文档管理,都整合在了一起。
核心特点
数据管理
26 种字段类型:文本、数字、日期、单选多选、附件、关联、公式、自动编号、评分……
6 种视图:表格、看板、日历、甘特图、画廊、表单
支持多级分组、多条件筛选排序
Excel 导入创建表(智能识别字段类型)
表单收集
公开表单分享(匿名提交、验证码保护)
数据自动写入数据表
仪表盘
可视化图表组件
多种行业模板
实时数据刷新
文档管理
富文本编辑 + Markdown
PDF 导出 + 版本历史
与数据表权限打通
协作与安全
多人在线协作
JWT 认证、API 限流
XSS/SQL 注入防护
部署
Docker 单容器部署(内嵌 Redis)
PostgreSQL / SQLite 都支持
跨平台运行
层面
用的啥
后端
Python 3.11+、Flask 3.0、SQLAlchemy 2.0、PostgreSQL / SQLite、Redis
前端
Vue 3、TypeScript、Element Plus、Pinia、ECharts、VXE Table
部署
Docker、PyInstaller、Nuitka
七、关注作者
SmartTable 目前是一个个人开源项目,代码完全开源,欢迎 star、fork、提 issue,一起来搞。
如果觉得项目对你有帮助,或者想了解开发背后的故事、技术分享,可以关注作者在这些平台上的账号:
平台
账号 / 地址
GitHub(主仓库)
https://github.com/ldbinac/smart_table t_table
Gitee(国内镜像)
https://gitee.com/binac/smart_table able
程序员吕洞宾
CSDN
程序员吕洞宾
⛏ 稀土掘金
程序员吕洞宾
知乎
程序员吕洞宾
关注不迷路,版本持续迭代中~
八、感谢 OpenTiny 开源社区
特别感谢:OpenTiny开源社区(华为出品)对 SmartTable 的特别支持,在最新的OpenTiny官方微信公众号上,分享了SmartTable 的V1.4.0版本( 开源多维表格SmartTable v1.4.0 来啦!这次带来了文档功能) 点击阅读原文可以直接跳转到该公众号文章 。
SmartTable 的文档编辑器使用的是TinyEditor,这是OpenTiny开源社区(华为出品)的一个富文本编辑器组件。
TinyEditor 功能很全面,支持富文本编辑、Markdown 编写、表格处理、国际化配置等,品质和文档都不错。SmartTable 的文档模块能顺利做出来,TinyEditor 功不可没。
如果你对前端组件库感兴趣,可以去 OpenTiny 社区看看,他们除了 TinyEditor,还有一套完整的企业级 UI 组件库,值得关注:
GitHub: https:// github.com/opentiny/
官网: https:// opentiny.design/
感谢 OpenTiny 社区的开源贡献,也希望国内的开源生态越来越好
热门跟贴