# 7.1 GA 版本升级到 7.2 GA 版本

⚠️文档中以MySQL数据安装为示例进行安装。

⚠️GA 版本使用的AFCenter版本为8.3.0,对应的EOS Platform版本为8.3.0 LA1。

本文介绍从主数据 7.1 GA 版本升级到 7.2 GA 版本的升级过程。

# 介质准备

下载主数据 7.2 GA 介质,解压到安装服务器上。

微应用版本

微应用版本介质目录如下:

## 先解压Primeton_MDM_7.2_GA_MicroApp.tar.gz
## 再解压Primeton_MDM_7.2_GA_Server.tar.gz和Primeton_MDM_7.2_GA_UI.tar.gz
## Primeton_MDM_7.2_GA_Server
├── bin
│   ├── shutdown.cmd
│   ├── shutdown.sh
│   ├── startup.cmd
│   └── startup.sh
├── config
│   ├── MDM
│   ├── application-afc.properties
│   ├── application-mdm.properties
│   ├── application.properties
│   └── logback-spring.xml
├── db-scripts
│   ├── dameng
│   ├── mysql
│   ├── opengauss
│   ├── oracle
│   ├── sqlserver
│   └── upgrade
├── docs
│   └── API.md
├── lib ## 数据库驱动目录,mysql、oracle驱动需要自行下载
│   ├── DmDialect-for-hibernate5.3-8.1.2.79.jar
│   ├── DmJdbcDriver18-8.1.1.193.jar
│   └── opengauss-jdbc-3.0.0.jar
└── mdm-boot-7.2.0-exec.jar
## Primeton_MDM_7.2_GA_UI
├── dist
│   ├── assets
│   ├── index.html
│   ├── remoteEntry.js
│   └── static
└── mdm.conf # nginx配置文件,仅供参考

独立部署版本

独立部署版本介质目录如下:

## 解压Primeton_MDM_7.2_GA_Standalone.tar.gz
├── clearLog.cmd
├── clearLog.sh
├── readme.txt
├── server
│   ├── mdm ## 主数据后端服务
│   │   ├── bin
│   │   ├── config
│   │   ├── db-scripts
│   │   │   ├── dameng
│   │   │   ├── mysql
│   │   │   ├── opengauss
│   │   │   ├── oracle
│   │   │   ├── sqlserver
│   │   │   └── upgrade
│   │   ├── docs
│   │   ├── lib ## 数据库驱动目录,mysql、oracle驱动需要自行下载
│   │   │   ├── DmDialect-for-hibernate5.3-8.1.2.79.jar
│   │   │   ├── DmJdbcDriver18-8.1.1.193.jar
│   │   │   └── opengauss-jdbc-3.0.0.jar
│   │   └── mdmall-boot-7.2.0-exec.jar
│   └── primetonlicense.xml
├── shutdown.cmd
├── shutdown.sh
├── startup.cmd
├── startup.sh
└── web
    ├── afcenter
    │   ├── assets
    │   ├── bfp
    │   ├── components
    │   ├── config
    │   ├── formDesigner
    │   ├── ide
    │   ├── index.html
    │   ├── mdm ## 主数据前端资源文件
    │   ├── process
    │   ├── remoteEntry.js
    │   ├── remoteEntry.js.gz
    │   ├── static
    │   └── version.properties
    └── conf
        └── mdm.conf

# 停止后端服务

在升级后端服务之前停止对应后端服务

# 升级数据库数据

⚠️升级前请先备份数据库

微服务版本升级

  • 升级afcenter

  • 升级mdm在afcenter中数据

    • 在afcenter库中 执行db-scripts/mdm/upgrade/mysql/7.1ga-7.2ga/00-mdm-afc-data.sql脚本
    • 在afcenter库中 执行db-scripts/mdm/upgrade/mysql/7.1ga-7.2ga/00-afc-template-data.sql脚本
  • 升级bfp

    • 在afcenter库中 执行db-scripts/bfp-framework/upgrade/Mysql/8.2.5-8.3.0.sql脚本
    • 在afcenter库中 执行db-scripts/bfp-message/upgrade/Mysql/8.2.5-8.3.0.sql脚本
    • 在afcenter库中 执行db-scripts/bfp-task/upgrade/Mysql/8.2.5-8.3.0.sql脚本
  • 升级lowcode

    • 在afcenter库中 执行db-scripts/lowcode/upgrade/Mysql/8.2.5-8.2.6.sql脚本
    • 在afcenter库中 执行db-scripts/lowcode/upgrade/Mysql/8.2.6-8.3.0.sql脚本
  • 升级mdm数据库

    • 执行db-scripts/mdm/upgrade/mysql/7.1ga-7.2ga/10-mdm-ddl.sql脚本
    • 执行db-scripts/mdm/upgrade/mysql/7.1ga-7.2ga/11-mdm-data.sql脚本 (注意提交事务)

独立部署版本升级

因afcenter库在独立版本中和主数据为同一个库, 因此升级步骤如下:

  • 执行server/mdm/db-scripts/afcenter/upgrade/Mysql/8.2.5-8.3.0.sql脚本
  • 执行server/mdm/db-scripts/bfp-framework/Mysql/all.sql脚本
  • 执行server/mdm/db-scripts/bfp-message/Mysql/all.sql脚本
  • 执行server/mdm/db-scripts/bfp-task/Mysql/all.sql脚本
  • 执行server/mdm/db-scripts/bps/mysql/all.sql脚本
  • 执行server/mdm/db-scripts/lowcode/upgrade/Mysql/8.2.5-8.2.6.sql脚本
  • 执行server/mdm/db-scripts/lowcode/upgrade/Mysql/8.2.6-8.3.0.sql脚本
  • 执行server/mdm/db-scripts/pub-resource/upgrade/Mysql/8.2.5-8.2.6.sql脚本
  • 执行server/mdm/db-scripts/pub-resource/upgrade/Mysql/8.2.6-8.3.0.sql脚本
  • 执行server/mdm/db-scripts/mdm/upgrade/mysql/7.1ga-7.2ga/00-afc-template-data.sql脚本
  • 执行server/mdm/db-scripts/mdm/upgrade/mysql/7.1ga-7.2ga/00-mdm-afc-data.sql脚本
  • 执行server/mdm/db-scripts/mdm/upgrade/mysql/7.1ga-7.2ga/10-mdm-ddl.sql脚本
  • 执行server/mdm/db-scripts/mdm/upgrade/mysql/7.1ga-7.2ga/11-mdm-data.sql脚本

# 替换新版本介质

⚠️升级前请先备份文件。

更新主数据后端服务

使用解压后的后端介质文件,替换原有文件。

  • 微服务应用升级
    • 替换后端程序目录server/mdm
    • 修改server/mdm/config/MDM/config/user-config.xml配置中的数据源
    • 其他配置需要按需修改,比如服务端口、数据库方言等
    • 清空redis缓存数据
    • 启动主数据服务
  • 独立版本升级
    • 替换后端程序目录server/mdm
    • 修改server/mdm/config/MDM/config/user-config.xml配置中的数据源
    • (可选步骤)修改application.properties配置中的服务端口
    • (可选步骤)修改application-mdm.properties配置中对应的数据库方言配置
    • (可选步骤)其他配置可以按需修改
    • 清空redis缓存数据
    • 启动主数据服务

更新主数据前端资源

对于微应用版本,使用Primeton_MDM_7.2_GA_UI.tar.gz解压后的dist目录进行替换。对于独立部署版本,使用web/mdm目录进行替换原有文件。

更新nginx配置

对于微应用版本,nginx配置参考如下:

upstream afcenterapp {
	server 127.0.0.1:28083; # afcenter后端部署ip
}

upstream mdmapp {
	server 127.0.0.1:28090; # mdm后端部署ip
}

server {
    listen 80; # 端口号

    location ~/MDM/ { # 固定写法
		rewrite ^/(.*)/api/(.*)$ /api/$2 break;
		#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
		proxy_pass http://mdmapp;
	}

	location ^~/api/ { # 固定写法
		#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
		proxy_pass http://afcenterapp ;
	}

	location ~/(.*)/api/ { # 固定写法
		rewrite ^/(.*)/api/(.*)$ /api/$2 break;
		#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
		proxy_pass http://afcenterapp ;
	}

	#location ~ \.biz\.ext$ {
	#    proxy_pass http://afcenterapp;
	#

    location / {
        root /usr/share/nginx/afc; # 微前端方式部署,根据实际情况修改
        index index.html index.htm;
    }
}

对于独立部署版本,nginx配置参考如下:

upstream mdmapp {
	server 127.0.0.1:28090; # 主数据部署后端ip:port
}
server {
    listen 80;

    client_max_body_size 20M; #限制请求体的大小,默认是1M
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1";
    add_header Content-Security-Policy "script-src * 'unsafe-inline' 'unsafe-eval'";
    add_header X-Frame-Options "SAMEORIGIN";
    add_header Strict-Transport-Security "max-age=SECONDS";
    add_header Referrer-Policy "no-referrer" always;
    add_header X-Permitted-Cross-Domain-Policies "master-only";
    add_header X-Download-Options noopen;

    location / {
        root  /XXX/afcenter;# 根据前端资源所在当前机器路径
        index  index.html index.htm;
    }
	
	location ^~/api/ {
        proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
        proxy_pass http://mdmapp;
    }

    location ~/(.*)/api/ {
        proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
        rewrite ^/(.*)/api/(.*)$ /api/$2 break;
        proxy_pass http://mdmapp;
    }

}

# 重启nginx服务

nginx 重启命令参考

  • 重启nginx(默认nginx配置文件)

nginx -s reload

  • 重启nginx(指定nginx配置文件)

nginx -s reload -c /usr/nginx/nginx.conf

# 验证

验证后端服务

访问主数据平台在线文档地址http://<ip>:<port>/swagger-ui.html,确认后端服务是否正常。

验证前端服务

清除浏览器缓存后,访问AFCenter,登录后切换到主数据,检查菜单、数据是否正常展示。