Origin X Documentation

天行有常,不为尧存,不为桀亡。——荀子《天论》

OX-004 - 生产环境升级

本文提供给实施人员执行生产环境升级专用,前提条件:

所有运维人员和开发人员参考本手册执行生产环境的升级,不可越过该手册擅自增加步骤。

1. 整体备份

不论升级成功与否,先执行三个核心数据库的备份(推荐直接使用 Navicat 中的 MySQL 备份工具)。

数据库名 备注
DB_ORIGIN_X 元数据库数据库(核心库)
DB_IOP 业务数据库(运行数据库)
DB_IOP_HIS 业务历史库(归档数据)

2. 更新内容

更新步骤牵涉将要更新的表相关信息,有几点需要注意:

2.1. 业务数据表

下边枚举的表为不可变更表,每次升级的时候需要单独备份。

表特征 备注
E_ 打头的表 公司、合同、客户、员工、档案、组所有数据需要备份
O_ 打头的表,S_USER / S_ROLE 和 R_USER_ROLE 账号以及和角色之间的关联表
X_TODO / X_ACTIVITY / X_ACTIVITY_CHANGE 待办、变更历史表
X_LOG 日志表
X_NUMBER / X_TABULAR / X_CATEGORY 字典、分类、编号表(编号表重要)

2.2. 建模更新

本版本不支持建模更新,建模数据不可再变更。

2.3. 配置更新

下边的表为每次升级的核心变更部分

2.3.1. 界面

表特征 备注
UI_ 打头的表 核心界面配置、表单(字段)、列表(列)、页面、控件
V_ 打头的表 列表专用配置
UI_OP 表 操作配置,后期引入更多复杂操作
X_MODULE / X_MENU 模块配置和菜单配置信息

2.3.2. 权限

表特征 备注
S_PERMISSION / S_ROLE_PERM 权限表、角色权限对应表
S_ACTION / S_RESOURCE 操作表和资源表
S_VIEW 不同角色的视图表

2.3.3. 任务/接口

下边的表更新过后需要重启容器才可生效,目前的版本不支持动态添加:任务和接口

表特征 备注
I_API 接口表
I_JOB 任务表
I_SERVICE 服务层专用服务表

3. 更新步骤

先创建备份目录:backup-XXXX-XX-XX,其中 XXXX-XX-XX 为日期信息,标识备份时间戳。

  1. 在服务器上停止前端:ox-ui 项目停止。
  2. 在服务器上停止后端:查找已经运行的后端使用Linux中的命令直接 kill
  3. 将 logs 中的所有日志信息备份一份到目录 /logs 中。
  4. 将三个库的内容直接导出成 SQL (结构 + 数据)备份到 /data 中。
  5. 单独备份第二节中的所有需要备份的元数据表(业务数据表)到 /metadata中。
  6. 使用元数据表的备份在本地还原生产环境的基础环境。
  7. 使用 OxDevelop 更新工具更新每一次升级需要更新的配置部分,参考:2.3。
  8. 更新好过后导出本地元数据库,并且覆盖在线运行版本中的元数据库。
  9. 运行命令:SELECT * FROM I_SERVICE WHERE CONFIG_INTEGRATION LIKE '%<IP>%'检查环境中是否还包含了开发测试环境中的基础内容。其中<IP>为开发测试环境的IP地址。
  10. 检查数据源表:X_SOURCE中的账号密码是否和生产环境匹配。
  11. 重新启动后端、然后启动前端,完成升级。
  12. 登录在线环境使用超级账号:lang.yu检查本次升级的所有内容。