Directus:给任意SQL数据库配上管理后台的开源工具
文章目录Directus给任意SQL数据库配上管理后台的开源工具核心设计数据库之上加一层几个功能点适用场景和局限Directus给任意SQL数据库配上管理后台的开源工具Directus 在 GitHub 上积累了 35,832 颗星是 headless CMS 品类中 Star 数排在靠前位置的项目。它的思路简单你有一个现成的数据库Directus 能直接连上去在现有表结构之上自动生成 REST API、GraphQL API 和一个 web 管理后台不需要迁移数据。核心设计数据库之上加一层多数 CMS 要求你按它的规则定义数据模型再把内容填进去。Directus 反过来它读取你数据库里已有的表结构然后自动生成接口和管理界面。拿实际场景举例。你有一个电商数据库里面已经建好了 users、orders、products 三张表。部署 Directus 之后这三张表立刻获得一个 web 端管理界面运营和产品人员可以直接操作数据REST API 和 GraphQL API前端直接调用基于角色的权限控制可以精确到字段级别Directus 把配置、权限、字段关系等元数据存在自己的系统表中业务表结构不作任何修改。将来停掉 Directus 服务数据库照常运行不用担心数据被锁定在某个平台上。几个功能点Flow 自动化内置可视化流程编排。设置orders 表新增一行时发邮件通知管理员这类规则拖拽配置即可完成不需要写后端代码。字段级权限权限控制粒度到列级别。例如让编辑角色查看 users 表全部字段但只能修改 nickname 和 avatar 两列。这在内部工具场景中很实用。内容版本管理记录每一条数据的变更历史支持回滚到任意历史版本。这个功能在免费版中就可以使用同类产品通常放在付费版里。多语言与文件管理管理后台界面支持数十种语言内容字段支持多语言配置。文件存储对接 S3 兼容的对象存储上传的图片可以设置裁剪规则。适用场景和局限部署只需要一行 Docker 命令。项目采用 MIT 协议开源核心功能全部免费审计日志和高级协作等企业特性走付费路线。适合这几类场景给已有数据库快速加一层管理后台和 API搭建内容类产品前台调用 API、后台用 Directus 管理内容内部工具和数据看板的快速开发。需要留意的两点表之间关联超过 15 张且有高并发请求时响应时间会明显增加文件数量超过 40 万时文件管理接口可能出现性能瓶颈。这些是数据量增长到一定规模后才需要关注的问题中小项目一般不会遇到。Directus 解决的是一个具体问题让现有数据库获得 API 层和管理界面同时保持数据的独立性。这个定位在同类工具中比较少见也解释了它能在 headless CMS 这个拥挤赛道里拿到 3.5 万颗星的原因。了它能在 headless CMS 这个拥挤赛道里拿到 3.5 万颗星的原因。