为了让您能够快速、顺畅地将此 Demo 部署到您自己的 NocoBase 环境中,我们提供了两种还原方式。请根据您的用户版本和技术背景选择最适合您的一种。
在开始之前,请确保
- 您已经有了一个基础的 NocoBase 运行环境。关于主系统的安装,请参考更详细的官方安装文档。
- 您已经下载了我们 CRM Demo 的相应文件:
- 备份文件(约21.2MB):crm_demo_20250711.nbdata - 适用于方法一
- SQL文件(压缩后约9MB):crm_demo_20250711_sql.zip - 适用于方法二
重要说明:本 Demo 基于 PostgreSQL 数据库制作,请确保您的环境使用 PostgreSQL 数据库。
方法一:使用备份管理器还原(推荐专业/企业版用户)
这种方式通过 NocoBase 内置的“备份管理器”(专业/企业版)插件进行一键还原,操作最简单。但它对环境和用户版本有一定要求。
核心特点
- 优点:
- 操作便捷:在 UI 界面即可完成,可以完整地还原包括插件在内的所有配置。
- 完整还原:能够还原所有系统文件,包括模板打印文件、表中文件字段上传的文件等,确保 Demo 功能完整性。
- 局限:
- 专业/企业版限定:“备份管理器”是企业级插件,仅专业/企业版用户可用。
- 环境要求严格:要求您的数据库环境(版本、大小写敏感设置等)与我们制作备份时的环境高度兼容。
- 插件依赖:如果 Demo 中包含了您本地环境中没有的商业插件,还原会失败。
操作步骤
第 1 步:【强烈建议】使用 full
镜像启动应用
为了避免因缺少数据库客户端而导致的还原失败,我们强烈建议您使用 full
版本的 Docker 镜像。它内置了所有必需的配套程序,让您无需进行额外配置。
拉取镜像的指令示例:
docker pull nocobase/nocobase:1.8.1-full
然后使用此镜像启动您的 NocoBase 服务。
注:若不使用
full
镜像,您可能需要在容器内手动安装pg_dump
数据库客户端,过程繁琐且不稳定。
第 2 步:开启“备份管理器”插件
- 登录您的 NocoBase 系统。
- 进入
插件管理
。 - 找到并启用
备份管理器
插件。
第 3 步:从本地备份文件还原
- 启用插件后,刷新页面。
- 进入左侧菜单的
系统管理
->备份管理器
。 - 点击右上角的
从本地备份还原
按钮。 - 将我们提供给您的 Demo 备份文件(通常是
.zip
格式)拖拽到上传区域。 - 点击
提交
,耐心等待系统完成还原即可,这个过程可能需要几十秒到几分钟不等。
⚠️ 注意事项
- 数据库兼容性:这是此方法最关键的一点。您的 PostgreSQL 数据库版本、字符集、大小写敏感设置必须与 Demo 备份源文件匹配。特别是
schema
名称必须一致。 - 商业插件匹配:请确保您已拥有并开启了 Demo 所需的所有商业插件,否则还原会中断。
方法二:直接导入 SQL 文件(通用,更适合社区版)
这种方式通过直接操作数据库来还原数据,绕过了“备份管理器”插件,因此没有专业/企业版插件的限制。
核心特点
- 优点:
- 无版本限制:适用于所有 NocoBase 用户,包括社区版。
- 高兼容性:不依赖应用内的
dump
工具,只要能连接数据库即可操作。 - 高容错性:如果 Demo 包含您没有的商业插件(如 ECharts 图表),相关功能将不会被启用,但不会影响其他功能的正常使用,应用可成功启动。
- 局限:
- 需要数据库操作能力:需要用户具备基础的数据库操作能力,例如如何执行一个
.sql
文件。 - ⚠️ 系统文件丢失:此方法会丢失所有系统文件,包括模板打印文件、表中文件字段上传的文件等。这意味着:
- 打印模板功能可能无法正常使用
- 已上传的图片、文档等文件将丢失
- 涉及文件字段的功能将受到影响
- 需要数据库操作能力:需要用户具备基础的数据库操作能力,例如如何执行一个
操作步骤
第 1 步:准备一个干净的数据库
为您即将导入的 Demo 数据准备一个全新的、空的数据库。
第 2 步:将 .sql
文件导入数据库
获取我们提供的 Demo 数据库文件(通常是 .sql
格式),并将其内容导入到您上一步准备好的数据库中。执行方式有多种,取决于您的环境:
-
选项 A:通过服务器命令行(以 Docker 为例) 如果您使用 Docker 安装 NocoBase 和数据库,可以将
.sql
文件上传到服务器,然后使用docker exec
命令来执行导入。假设您的 PostgreSQL 容器名为my-nocobase-db
,文件名为crm_demo.sql
:# 将 sql 文件复制到容器内 docker cp crm_demo.sql my-nocobase-db:/tmp/ # 进入容器执行导入指令 docker exec -it my-nocobase-db psql -U your_username -d your_database_name -f /tmp/crm_demo.sql
-
选项 B:通过远程数据库客户端 如果您的数据库暴露了端口,可以使用任何图形化数据库客户端(如 DBeaver, Navicat, pgAdmin 等)连接到数据库,新建一个查询窗口,将
.sql
文件的全部内容粘贴进去,然后执行即可。
第 3 步:连接数据库并启动应用
配置您的 NocoBase 启动参数(如环境变量 DB_HOST
, DB_PORT
, DB_DATABASE
, DB_USER
, DB_PASSWORD
等),使其指向您刚刚导入了数据的数据库。然后,正常启动 NocoBase 服务。
⚠️ 注意事项
- 数据库权限:此方法要求您拥有可以直接操作数据库的账号和密码。
- 插件状态:导入成功后,系统中包含的商业插件数据虽然存在,但如果您本地未安装并启用对应插件,相关功能(如Echarts图表、特定字段等)将无法显示和使用,但这不会导致应用崩溃。
总结与对比
特性 | 方法一:备份管理器 | 方法二:直接导入 SQL |
---|---|---|
适用用户 | 专业/企业版用户 | 所有用户(包括社区版) |
操作简易度 | ⭐⭐⭐⭐⭐ (非常简单,UI 操作) | ⭐⭐⭐ (需要基础数据库知识) |
环境要求 | 严格,数据库、系统版本等需高度兼容 | 一般,需要数据库兼容 |
插件依赖 | 强依赖,还原时会校验插件,缺少任何插件都会导致还原失败。 | 功能强依赖于插件。数据可独立导入,系统具备基础功能。但若缺少对应插件,相关功能将彻底无法使用。 |
系统文件 | ✅ 完整保留(打印模板、上传文件等) | ❌ 会丢失(打印模板、上传文件等) |
推荐场景 | 企业用户,且环境可控、一致,需要完整功能演示 | 缺少部分插件,追求高兼容、灵活性,非专业/企业版用户,可接受文件功能缺失 |
希望本教程能帮助您顺利部署 CRM Demo。如果您在操作过程中遇到任何问题,欢迎随时与我们联系!