
NocoBase CRM Demo 部署指南备份管理器还原与 SQL 直接导入双方案详解【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase本文是一份面向 NocoBase 使用者的 CRM Demo 部署实操指南。CRM Demo 是 NocoBase 团队提供的完整业务演示应用包含了业务表结构、页面配置、工作流乃至模板打印等一整套开箱即用的数据资产。要在你自己的 NocoBase 环境中把它搬进来官方提供了两种还原路径备份管理器一键还原适合专业/企业版与直接导入 SQL 文件适合社区版及追求灵活性的场景。读完本文你将能根据自身版本与环境条件选择最合适的方式并理解两种方式背后备份文件格式、数据库客户端依赖等底层原理顺利把 Demo 部署到自己的环境中。开始前的准备环境与文件在动手之前请确认以下两点已经满足已具备一个可用的 NocoBase 基础运行环境。主系统如何安装不在本文范围内可参考仓库内docs/docs/cn/get-started/目录下的安装文档完成。已下载 CRM Demo 的相应文件中文版备份文件约 21.2MBnocobase_crm_demo_cn.nbdata——适用于方法一备份管理器还原SQL 文件压缩后约 9MBnocobase_crm_demo_cn.zip——适用于方法二直接导入 SQL。重要说明本 Demo 基于PostgreSQL数据库制作请确保你的环境使用 PostgreSQL 数据库两种方式都无法绕过这一前提。方法一通过备份管理器还原推荐专业/企业版用户这种方式走 NocoBase 内置的备份管理器插件在 UI 界面一键还原操作最省心但对用户版本与运行环境有要求。核心特点优点操作便捷全程在 UI 界面完成能完整还原包括插件在内的所有配置完整还原能够还原所有系统文件包括模板打印文件、表中文件字段上传的文件等保证 Demo 功能完整性。局限专业/企业版限定备份管理器是企业级插件仅专业/企业版用户可用环境要求严格要求你的数据库环境版本、大小写敏感设置等与制作备份时的环境高度兼容插件依赖如果 Demo 中包含了本地环境没有的商业插件还原会失败。操作步骤第 1 步【强烈建议】使用full镜像启动应用为避免因缺少数据库客户端而导致的还原失败强烈建议使用full版本的 Docker 镜像它内置了所有必需的配套程序无需额外配置。在仓库的 Dockerfile-full 中可以看到full镜像的运行时阶段内置了postgresql-client-16与postgresql-client-17、MySQL 客户端mysql/mysqldump、Oracle Instant Client 19.25、LibreOffice 24.8 以及 nginx 等一整套配套程序这正是还原操作能够顺利执行的环境基础。注意官方示例镜像由 1.9.0-alpha.1 制作请留意版本兼容性。拉取镜像并启动服务的指令示例docker pull nocobase/nocobase:1.9.0-alpha.3-full注若不使用full镜像你可能需要在容器内手动安装pg_dump数据库客户端过程繁琐且不稳定。从源码看备份还原流程确实会调用pg_dump等原生客户端工具并在检测到pg_dump: error: aborting because of server version之类的版本不一致错误时给出提示见 backup.ts这就是full 镜像能省去大量麻烦的根本原因。第 2 步开启备份管理器插件登录你的 NocoBase 系统进入插件管理找到并启用备份管理器插件。第 3 步从本地备份文件还原启用插件后刷新页面进入左侧菜单的系统管理→备份管理器点击右上角的从本地备份还原按钮将 Demo 备份文件nocobase_crm_demo_cn.nbdata通常以.zip格式封装拖拽到上传区域点击提交耐心等待系统完成还原这个过程可能需要几十秒到几分钟不等。⚠️ 注意事项数据库兼容性这是此方法最关键的一点。你的 PostgreSQL 数据库版本、字符集、大小写敏感设置必须与 Demo 备份源文件匹配特别是schema名称必须一致商业插件匹配请确保你已拥有并开启了 Demo 所需的所有商业插件否则还原会中断。从源码看备份文件的底层机制备份管理器还原的是一份扩展名为.nbdata的归档文件。在 plugin-backups 的 utils.ts 中可以看到BACKUP_EXTENSION nbdata备份存放目录为storage/uploads还定义了backupSettings备份设置与backups备份记录两张核心数据表。备份归档本质上是用archiver以 zip 方式、zliblevel 9 最高压缩比打包的目录见 compressDirectoryToBackupArchive其中既包含数据库导出的 SQL 内容也包含上传文件、模板打印文件等系统文件还原时则由Extractor流式解压并做路径穿越防护校验utils.ts。这正是备份管理器能完整保留打印模板与上传文件的源码级原因。此外该插件的服务端还内置了 CLI 还原命令例如yarn nocobase restore 备份文件路径 [--database 库名] [--schema schema名] [--underscored]相关命令定义见 plugin.ts。这意味着即使不走 UI专业/企业版用户也可以在容器内直接用命令行完成还原方便脚本化运维。备份设置表backupSettings还支持定时备份scheduledcron默认0 0 * * *、保留份数keep默认 100、是否备份文件enableFilesBackup以及加密口令encryptionPassword等参数plugin.ts本文所用的从本地备份还原只是其中一项能力。方法二直接导入 SQL 文件通用更适合社区版这种方式通过直接操作数据库来还原数据绕过了备份管理器插件因此没有专业/企业版插件的限制门槛更低。核心特点优点无版本限制适用于所有 NocoBase 用户包括社区版高兼容性不依赖应用内的dump工具只要能连接数据库即可操作高容错性如果 Demo 包含你没有的商业插件如 ECharts 图表相关功能不会被启用但不会影响其他功能的正常使用应用可成功启动。局限需要数据库操作能力需要你具备基础的数据库操作能力例如如何执行一个.sql文件⚠️ 系统文件丢失此方法会丢失所有系统文件包括模板打印文件、表中文件字段上传的文件等这意味着打印模板功能可能无法正常使用已上传的图片、文档等文件将丢失涉及文件字段的功能将受到影响。操作步骤第 1 步准备一个干净的数据库为即将导入的 Demo 数据准备一个全新的、空的数据库。第 2 步将.sql文件导入数据库获取 Demo 的 SQL 文件解压nocobase_crm_demo_cn.zip后得到.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 的启动参数使其指向刚导入了数据的数据库然后正常启动 NocoBase 服务。Docker 部署时通过环境变量注入连接信息常用变量如下环境变量作用DB_HOST数据库主机地址DB_PORT数据库端口PostgreSQL 默认5432DB_DATABASE数据库名称DB_USER数据库用户名DB_PASSWORD数据库密码DB_SCHEMA数据库 schema 名称需与导入数据一致仓库提供了 PostgreSQL 的参考编排文件 docker/app-postgres/docker-compose.yml可结合官方nocobase/nocobase镜像一起使用。容器启动时docker-entrypoint.sh 会依次执行yarn nocobase postinstall、db:auth、generate-instance-id、生成 nginx 配置等初始化步骤最后以yarn start --quickstart启动应用无需人工干预即可连接上已导入数据的数据库。⚠️ 注意事项数据库权限此方法要求你拥有可以直接操作数据库的账号和密码插件状态导入成功后系统中包含的商业插件数据虽然存在但如果你本地未安装并启用对应插件相关功能如 ECharts 图表、特定字段等将无法显示和使用但这不会导致应用崩溃。总结与对比特性方法一备份管理器方法二直接导入 SQL适用用户专业/企业版用户所有用户包括社区版操作简易度⭐⭐⭐⭐⭐非常简单UI 操作⭐⭐⭐需要基础数据库知识环境要求严格数据库、系统版本等需高度兼容一般需要数据库兼容插件依赖强依赖还原时会校验插件缺少任何插件都会导致还原失败功能强依赖于插件。数据可独立导入系统具备基础功能但若缺少对应插件相关功能将彻底无法使用系统文件✅ 完整保留打印模板、上传文件等❌ 会丢失打印模板、上传文件等推荐场景企业用户环境可控、一致需要完整功能演示缺少部分插件追求高兼容、灵活性非专业/企业版用户可接受文件功能缺失部署常见问题与排障提示结合源码与两种方式的机制差异部署时最常遇到的问题集中在以下几点还原失败提示pg_dump相关错误多发生在未使用full镜像、容器内缺少数据库客户端或数据库服务器版本与本地pg_dump版本不匹配时。解决思路是改用full镜像或确保容器内安装了与目标 PostgreSQL 版本匹配的客户端。备份插件会在检测到pg_dump: error: aborting because of server version时给出明确报错见 backup.ts便于快速定位。方法一还原中断通常是schema名称、字符集、大小写敏感设置与备份源不一致或缺少 Demo 依赖的商业插件。请先核对数据库环境再确认插件清单。方法二启动后功能缺失属预期行为而非故障。缺少对应插件时ECharts 图表、特定字段类型等功能不可用但应用可正常启动运行符合高容错性的设计初衷。希望本教程能帮助你顺利部署 CRM Demo。你可以在此基础上继续探索备份管理器的定时备份、加密备份等进阶能力相关配置字段定义于 plugin-backups 服务端插件或阅读仓库docs/docs/cn/tutorials/下的其他教程深入使用 NocoBase。【免费下载链接】nocobaseNocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, AI works on top of production-proven infrastructure and a WYSIWYG no-code interface, so you get both speed and reliability.项目地址: https://gitcode.com/GitHub_Trending/no/nocobase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考