Skip to main content

APitable多维表格解锁限制版本

简介

APITable 的详细介绍,结合其核心功能、技术架构、应用场景及开源特性进行说明:

APITable 是一款开源的多维表格与可视化数据库工具,由 vika维格表 的社区版发展而来。其定位为 零代码/低代码平台,旨在通过直观的表格界面和强大的 API 支持,降低数据管理与应用开发的门槛。核心功能包括:56

多维表格与视图:支持表格视图、看板视图、甘特图、日历视图、相册视图等,满足不同场景的数据展示需求。

实时协作:允许多用户同时编辑同一表格,支持 OT(Operational Transformation)算法确保数据一致性。

一键生成 API:通过内置的 API 面板,用户无需编码即可将数据表快速转化为 RESTful API,便于与其他系统集成。

自动化与扩展性:支持自定义公式、机器人自动化(如与 n8n、Zapier 集成)、BI 数据看板等,用户可灵活扩展功能。

企业级特性:提供团队权限管理、单点登录(SSO)、数据备份与审计日志等功能,适用于中大型组织。

典型应用场景

APITable 适用于多种业务场景,尤其适合非技术人员快速构建轻量级应用:68

项目管理:通过甘特图跟踪任务进度,利用看板视图管理敏捷开发流程。

客户关系管理(CRM):自定义字段记录客户信息,结合自动化机器人触发邮件或消息提醒。

数据可视化:将原始数据转化为交互式 BI 看板,支持动态图表与实时数据更新。

API 快速开发:作为后端服务的替代方案,快速生成 API 供小程序、Web 应用调用。

但是开源版本存在限制

如何突破限制

backend-server/application/src/main/java/com/apitable/interfaces/billing/model/DefaultSubscriptionFeature.java

进入代码 都改大

    @Override
public RowsPerSheet getRowsPerSheet() {
return new RowsPerSheet(1000 * 100L);
}

@Override
public ArchivedRowsPerSheet getArchivedRowsPerSheet() {
return new ArchivedRowsPerSheet(250 * 1000 * 1000L);
}

@Override
public TotalRows getTotalRows() {
return new TotalRows(1000 * 1000 * 250000L);
}

然后执行 构建任务

make _build-java

需要java17 版本

最后找到构建完的jar

➜  apitable git:(develop) ✗ find . -name "*.jar"
./init-db/gradle/wrapper/gradle-wrapper.jar
./backend-server/shared/core/build/libs/core.jar
./backend-server/shared/starters/sms/build/libs/sms.jar
./backend-server/shared/starters/mail/build/libs/mail.jar
./backend-server/shared/starters/amqp/build/libs/amqp.jar
./backend-server/shared/starters/socketio/build/libs/socketio.jar
./backend-server/shared/starters/oss/build/libs/oss.jar
./backend-server/shared/starters/beetl/build/libs/beetl.jar
./backend-server/shared/starters/databus/build/libs/databus.jar
./backend-server/gradle/wrapper/gradle-wrapper.jar
./backend-server/buildSrc/build/libs/buildSrc.jar
./backend-server/application/build/libs/application.jar
➜ apitable git:(develop) ✗ ls -alh ./backend-server/application/build/libs/application.jar
-rw-r--r-- 1 timger staff 183M Mar 28 21:14 ./backend-server/application/build/libs/application.jar

和线上对比

bash-4.2# ls -alh 
total 183M
drwxr-xr-x 1 root root 4.0K Mar 24 17:11 .
drwxr-xr-x 1 root root 4.0K Mar 24 17:10 ..
-rw-r--r-- 1 root root 183M Dec 30 19:02 app.jar
drwxr-xr-x 3 root root 4.0K Mar 28 19:28 logs
bash-4.2#

和线上版本文件大小就是他

docker 容器替换

/app/app.jar

修改docker-compose

  backend-server:
image: ${IMAGE_REGISTRY}/${IMAGE_BACKEND_SERVER}
pull_policy: ${IMAGE_PULL_POLICY:-if_not_present}
restart: always
env_file:
- "${ENV_FILE:-.env}"
expose:
- "8081"
environment:
- TZ=${TIMEZONE}
- DEFAULT_TIME_ZONE=${TIMEZONE}
volumes:
- ./backend-server/application/build/libs/application.jar:/app/app.jar
networks:
- apitable
depends_on:
init-db:
condition: service_completed_successfully

更新

docker-compose up -d