Airtable的开源替代方案NocoDB
什么是 Airtable ?
Airtable
是新型的在线表格制作工具,不仅局限于表格,它还可以把文字、图片、链接、文档等各种资料整合在一起。是电子表格-数据库混合体,具有数据库的功能,但实际上还是电子表格。
什么是 REST API ?
REST API
也称为RESTful API
,是遵循REST
架构规范的应用编程接口(API
或Web API
),支持与RESTful Web
服务进行交互。REST
是表述性状态传递的英文缩写(Representational State Transfer
),由计算机科学家Roy Fielding
在 2000 年提出。它的简单易用性,可扩展性,伸缩性受到广大Web
开发者的喜爱。
什么是 GraphQL ?
GraphQL
是一种新的API
标准,它提供了一种比REST
更有效、更强大和更灵活的替代方案。作为REST
的替代方案,GraphQL
允许开发人员构建相应的请求,从而通过单个API
调用从多个数据源中提取数据。GraphQL
由
REST API
在之前的『 简约但绝不简单的Komga 』一文中已经遇到了,而 NocoDB
同时支持 REST API
和 GraphQL API
安装
数据库
通过 phpMyAdmin
在 MariaDB 10
中新建用户 nocodb
,创建同名的库 nocodb
并授予所有权限。
如果使用 MariaDB 5
,在创建 table
时会遇到下面👇这样的错误
1 | CODE: |
从而导致创建失败
安装镜像
在群晖上以 Docker 方式安装。
在注册表中搜索 nocodb
,选择第一个 nocodb/nocodb
,版本选择 latest
。
卷
在 docker
文件夹中,创建一个新文件夹,并将其命名为 nocodb
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/nocodb |
/usr/app/data |
存放数据 |
端口
端口不冲突就行,这里用了 2380
本地端口 | 容器端口 |
---|---|
2380 | 8080 |
环境
可变 | 值 |
---|---|
NC_DB |
数据库连接参数,mysql2://群晖IP:3307?u=用户&p=密码&d=表 |
MariaDB 5 默认的端口是 3306,MariaDB 10 默认的端口是 3307
所以根据前面的设置,连接参数应该是 mysql2://192.168.0.197:3307?u=nocodb&p=TWYQDFsgq9Ng&d=nocodb
运行
在浏览器中输入 http://群晖IP:2380
,就看到欢迎界面
跳过欢迎界面之后
第一次需要注册,这个账号将成为管理员账号
密码至少有 8 个字母,其中包括 1 个大写字母、1 个数字和 1 个特殊字母
创建新项目
注册成功之后可以开始新建项目
输入项目名称,可以选择生成的 API
类型
建表
可以通过 +
号创建 table
输入表名,然后点 Submit
id 列是不能禁用的,
成功提交后,表格将创建并作为新选项卡打开。
列
单击表格右上角的 +
图标
弹出表单中可以填写列名、类型、长度等,其中类型非常丰富
修改后保存
行
点下图中的 +
号可以创建新的行
输入 title
和 url
点右上角的 Save Row
,就有数据了
又加了一行
REST API 访问
在主界面点最右上角的图标,单击 Copy auth token
单击同样的按钮,这次选择 Swagger APIs Doc
选择 Schemes
并单击Authorize
粘贴复制的令牌,然后单击 Authorize
验证成功
用 Get list
接口
可以查询到我们刚才建的两条数据
从数据库导入项目
通过连接外部数据库创建项目
需要进行数据库配置
老苏用了之前 兰空图床
的数据库
点 Test Database Connection
测试数据库连接
没问题的话就点 OK & Save Project
可以看到数据都已经过来了,接下来就可以通过 REST API
访问了
小结
NocoDB
和我们之前介绍的 SeaTable
非常类似,区别在于 SeaTable
偏向于提供应用模板,而 NocoDB
偏向于提供接口,是一个从数据库到 REST-GraphQL API
的生成器,更方便做二次开发
按官方的规划,未来可实现拖拽设计页面,这又有点像 Tduck
了
【小彩蛋】:一段时间不操作,界面会变得像黑客帝国
参考文档
nocodb/nocodb: 🔥 🔥 The Open Source Airtable alternative - Powered by Vue.js 🚀 🚀
地址:https://github.com/nocodb/nocodbNocoDB Documentation - NocoDB
地址:https://docs.nocodb.com/How to Install NocoDB on Your Synology NAS – Marius Hosting
地址:https://mariushosting.com/how-to-install-nocodb-on-your-synology-nas/