# LA 版本升级到 LA2 版本

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

⚠️LA2 版本使用的AFCenter版本为8.2.2.2,对应的EOS Platform版本为8.2.2。

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

# 介质准备

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

微应用版本

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

## 先解压Primeton_MDM_7.1_LA2_MicroApp.tar.gz
## 再解压Primeton_MDM_7.1_LA2_Server.tar.gz和Primeton_MDM_7.1_LA2_UI.tar.gz
## Primeton_MDM_7.1_LA2_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 ## 7.1la-7.1la2升级脚本目录
├── 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.1.0-exec.jar
## Primeton_MDM_7.1_LA2_UI
├── dist
│   ├── assets
│   ├── index.html
│   ├── remoteEntry.js
│   └── static
└── mdm.conf # nginx配置文件,仅供参考

独立部署版本

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

## 解压Primeton_MDM_7.1_LA2_Standalone.tar.gz
├── clearLog.cmd
├── clearLog.sh
├── readme.txt
├── server
│   ├── mdm ## 主数据后端服务
│   │   ├── bin
│   │   ├── config
│   │   ├── db-scripts
│   │   │   ├── dameng
│   │   │   ├── mysql
│   │   │   ├── opengauss
│   │   │   ├── oracle
│   │   │   ├── sqlserver
│   │   │   └── upgrade ## 7.1la-7.1la2升级脚本目录
│   │   ├── 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.1.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

# 执行升级脚本

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

升级脚本从db-scripts/upgrade目录中获取,文件列表如下:

├── dameng
│   └── 7.1la-7.1la2
│       ├── 00-mdm-afc-data.sql
│       ├── 01-afc-template-data.sql
│       ├── 10-mdm-ddl.sql
│       ├── 11-mdm-data.sql
│       ├── mdm-afc-all.sql
│       └── mdm-all.sql
├── mysql
│   └── 7.1la-7.1la2
│       ├── 00-mdm-afc-data.sql
│       ├── 01-afc-template-data.sql
│       ├── 10-mdm-ddl.sql
│       ├── 11-mdm-data.sql
│       ├── mdm-afc-all.sql
│       └── mdm-all.sql
├── opengauss
│   └── 7.1la-7.1la2
│       ├── 00-mdm-afc-data.sql
│       ├── 01-afc-template-data.sql
│       ├── 10-mdm-ddl.sql
│       ├── 11-mdm-data.sql
│       ├── mdm-afc-all.sql
│       └── mdm-all.sql
└── oracle
    └── 7.1la-7.1la2
        ├── 00-mdm-afc-data.sql
        ├── 01-afc-template-data.sql
        ├── 10-mdm-ddl.sql
        ├── 11-mdm-data.sql
        ├── mdm-afc-all.sql
        └── mdm-all.sql

微应用版本

使用微应用版本部署时,AFCenter、主数据后端服务是独立进程,因此都是独立的数据库,需要分别执行升级脚本。

升级AFCenter数据库

mysql> source 00-mdm-afc-data.sql

升级主数据后端服务数据库(默认mdm)

mysql> source 10-mdm-ddl.sql
mysql> source 11-mdm-data.sql

前端配置

nginx网关配置server,前端静态资源、afc、mdm
参考微应用部署配置

独立部署版本

独立部署版本部署时,AFCenter、主数据后端服务为同一数据库,直接执行升级脚本即可。

mysql> source 00-mdm-afc-data.sql
mysql> source 01-afc-template-data.sql
mysql> source 10-mdm-ddl.sql
mysql> source 11-mdm-data.sql

前端配置

nginx网关配置server,前端静态资源、mdm
参考独立部署配置

# 替换新版本介质

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

更新主数据后端服务

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

对于微应用版本,使用Primeton_MDM_7.1_LA2_Server.tar.gz解压后进行替换。对于独立部署版本,可以使用server/mdm目录替换原有文件。

更新主数据前端资源

对于微应用版本,使用Primeton_MDM_7.1_LA2_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:29898; # 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:29898; # 主数据部署后端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;
    }

}

# 验证

验证后端服务

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

验证前端服务

访问AFCenter,登录后切换到主数据,检查菜单、数据是否正常展示。

# 附录

# 新增配置说明

执行脚本后,会新增一个数据质量平台变量资源组。

NAME CODE
数据质量平台变量 quality_platform_vars

在该资源组下有新增两条系统变量。

CODE NAME VALUE
quality.server.url quality_server_url http://10.15.15.136:10002
quality.server.token quality_server_token 32b525d6e1ef4a6b831c46eddadc2266

这两条数据用以配置调用数据质量的重复数据检查接口,在【组织应用权限】->【通用管理】->【系统变量】->【数据质量平台变量】进行配置

  • quality.server.url的VALUE为已部署的数据质量地址及端口
  • quality.server.token的VALUE为界面配置变量,在AFC的token管理中获取token值