nocodb是一个界面现代、好用的低代码平台,可以让数据库的查询更方便快捷,配合数据库视图很好用,而且有完备的权限管理,未发现有什么付费项目,是小工作室自建低代码平台的优秀选择。
项目地址:nocodb/nocodb: 🔥 🔥 🔥 Open Source Airtable Alternative (github.com)
丰富的电子表格功能
- ⚡ 基本操作:对表、列和行进行增删改查
- ⚡ 字段操作:排序、过滤、隐藏/取消隐藏列
- ⚡ 多种视图:网格(默认)、画廊和表单视图
- ⚡ 视图权限:协作视图和锁定的视图
- ⚡ 分享基础/视图:公开或私人(有密码保护)
- ⚡ 多种单元格类型:ID、链接到另一记录、查找、滚动、单行文本、附件、货币、公式等
- ⚡ 基于角色的访问控制:不同层次的精细化地控制访问
- ⚡ 以及更多......
一、docker搭建方法
直接用Postgres数据库容器进行数据存储搭建,示例docker-compose.yml如下:
version: '2.1'
services:
nocodb:
depends_on:
root_db:
condition: service_healthy
environment:
NC_DB: "pg://root_db:5432?u=postgres&p=password&d=root_db"
image: "nocodb/nocodb"
ports:
- "8080:8080"
restart: always
volumes:
- "/绝对路径/nc_data:/usr/app/data" #用于数据持久化
root_db:
environment:
POSTGRES_DB: root_db
POSTGRES_PASSWORD: password
POSTGRES_USER: postgres
healthcheck:
interval: 10s
retries: 10
test: "pg_isready -U \"$$POSTGRES_USER\" -d \"$$POSTGRES_DB\""
timeout: 2s
image: postgres
restart: always
volumes:
- "/绝对路径/db_data:/var/lib/postgresql/data" #用于数据库数据持久化
也可以直接对接外部MySQL数据库,示例如下:
version: '2.1'
services:
nocodb:
depends_on:
root_db:
condition: service_healthy
environment:
NC_DB: "mysql2://mysql服务器IP地址:3306?u=用户名&p=密码&d=建好的数据库名称"
image: "nocodb/nocodb"
ports:
- "8080:8080"
restart: always
volumes:
- "/绝对路径/nc_data:/usr/app/data" #用于数据持久化
二、对接数据库数据
1、添加数据源
在项目右边“...”处点击,选择“设置” - “Data Sources” - “新建数据源”,填写要对接的数据库参数即可。
2、管理数据源权限
- 点击添加的数据源,在“UI-ACL”选项中可以控制每个数据表或视图的编辑、评论、查看权限。
- 在元同步可以手动同步数据库中新增的视图和数据表