应用备份与还原
本章从应用开发的角度说明何时使用备份、备份包含哪些内容,以及备份与应用分发的区别。
完整的操作步骤(创建、校验、还原、定时策略)见实例管理者手册的备份与还原章节。
1.0 备份兼容边界
0.x 应用备份不能直接导入 1.0;新实例也不能直接接管旧数据库。保留旧环境时应独立保存原程序与数据,目标版本验证见版本兼容与更新。
1. 备份包含哪些内容
一份应用备份可包含该应用的全部设置与数据:
- 模板设计与版本;
- 表单业务数据;
- 视图;
- 流程定义;
- 应用角色与权限设置。
可选择备份范围:
| 选择 | 说明 |
|---|---|
| 档位 | 全量、仅配置(不含业务数据)、自定义 |
| 逐对象勾选 | 自定义档位下可分别勾选要包含的模板、流程、视图 |
| 是否含业务数据 | 只需要一份空白配置用于复制应用时,可不带数据 |
| 是否含附件 | 附件通常体积较大,按需选择 |
| 是否含审计日志 | 默认不含,开启后文件明显增大 |
2. 口令是可选的
创建备份时可以设置口令,也可以留空。
🔴 设置了口令的备份,口令丢失后永久无法恢复,系统不提供找回途径。若选择设置口令,请以团队统一的方式妥善保管。
创建后应立即执行一次校验,确认备份文件与口令均可用,不要等到需要还原时才发现问题。
3. 两种还原方式
| 方式 | 影响 | 适用 |
|---|---|---|
| 还原为新应用 | 基于备份新建一个应用,不影响原应用 | 验证备份可用性、复制应用做实验 |
| 覆盖还原 | 删除目标应用的全部业务数据并按备份重建,不可逆 | 灾难恢复 |
覆盖还原有多重确认:需手工输入目标应用名称,且默认在覆盖前自动创建一份应急备份。
4. 备份与应用分发的区别
两者容易混淆:
| 功能 | 用途 | 特点 |
|---|---|---|
| 备份 | 同一实例内的数据保护与恢复 | 可含业务数据,用于回退 |
| 应用分发 | 把应用打包给其他实例部署 | 分发前执行依赖预检,检查是否引用了外部资源。见应用设置 |
从测试环境迁移到生产环境应使用应用分发;变更前留退路应使用备份。
5. 开发过程中的使用时机
| 时机 | 说明 |
|---|---|
| 调整模板结构之前 | 尤其是删除字段、修改字段类型这类不可逆操作 |
| 批量修改或删除数据之前 | |
| 组件升级之前 | |
| 重大版本升级之前 | |
| 清空应用数据之前 | 界面会直接提示建议先备份 |
备份反映的是创建时刻的状态,两次备份之间的数据变化无法找回。因此重大变更前的即时备份不可省略。