---
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/b3c1abf7-9e3c-40d3-9a22-39e0432e9ca1"
publicId: "b3c1abf7-9e3c-40d3-9a22-39e0432e9ca1"
---

# 本地存储到本地存储-系统整体迁移

# 步骤1、获取原系统默认本地存储根路径

## **1.1   如果E10属于10.0.2501.01基线及以上版本（包含10.0.2501.01）请按如下操作，不是则去1.2**

步骤：登录租户管理系统 → 进入文件存储设置 → 进入存储规则页面 → 确定业务文件存储规则绑定的存储实例 → 进入存储实例页面 → 查看此存储实例获得根目录

![CleanShot 2025-04-07 at 16.30.28.gif](https://weapp.eteams.cn/api/file/preview?fileId=1120190667074519062&type=imgs)

## **1.2.如果E10属于 10.0.2501.01基线以下版本（不包含10.0.2501.01），请按如下操作，****不是则可忽略！！**

1. 组合环境
  
  步骤：进入nacos → 查询**eteams-storage-service.properties**配置文件 → 确定storage.server=local → 获取local.rootPath配置值即为存储根目录

![CleanShot 2025-04-07 at 16.48.36.gif](https://weapp.eteams.cn/api/file/preview?fileId=1120195267018047495&type=imgs)

2. 单体环境
  
  > - 配置文件存放目录：${E10应用根目录}/webapps/ROOT/WEB-INF/classes/weaver/config/config-center
  > - 配置文件的名称：**eteams-storage-service.properties**
  
  步骤：获取E10应用根目录 → 进入配置文件目录下 → 查询**eteams-storage-service.properties**配置文件 → 确定storage.server=local → 获取local.rootPath配置值即为存储根目录
  
  ```bash
  # 获取E10应用根目录
  ps -ef |grep E10
  
  # 进入配置文件目录下
  cd ${E10应用根目录}/webapps/ROOT/WEB-INF/classes/weaver/config/config-center
  
  # 确定是否是本地存储
   cat eteams-storage-service.properties | grep storage.server
  
  #获取本地存储根目录
  cat eteams-storage-service.properties | grep local.rootPath
  ```

![CleanShot 2025-04-07 at 16.57.26.gif](https://weapp.eteams.cn/api/file/preview?fileId=1120197856807829541&type=imgs)

# 步骤2、整个系统切换到新本地存储

## **2.1 .如果E10属于10.0.2501.01基线及以上版本（包含10.0.2501.01）请按如下操作，不是则去 2.2**

步骤：租户管理系统 → 文件存储设置 → 存储实例 → 新建对象存储实例 → 进入存储规则tab页 → 修改业务文件存储规则绑定到新建的本地存储实例

![CleanShot 2025-04-08 at 14.28.47.gif](https://weapp.eteams.cn/api/file/preview?fileId=1120530673956274255&type=imgs)

## **2.2 如果E10属于 10.0.2501.01基线以下版本（不包含10.0.2501.01）请按如下操作，****不是则可忽略！！**

1. 组合环境
  
  > 不同对象存储对应的**eteams-storage-service.properties配置详细介绍，请看此文档：**
  
  步骤：进入nacos → 查询**eteams-storage-service.properties**配置文件 → 修改storage.server配置项的值为local  → 修改local.rootPath的值为新根目录 → 重启文件服务
  
  ![CleanShot 2025-04-08 at 14.33.09.gif](https://weapp.eteams.cn/api/file/preview?fileId=1120531498589995056&type=imgs)
2. 单体环境
  
  > - 配置文件存放目录：${E10应用根目录}/webapps/ROOT/WEB-INF/classes/weaver/config/config-center
  > - 配置文件的名称：**eteams-storage-service.properties**
  
  步骤：获取E10应用根目录 → 进入配置文件目录下 → 修改**eteams-storage-service.properties**配置文件 → 调整storage.server=以及对应对象存储配置项 → 重启单体服务
  
  ```bash
  # 获取E10应用根目录
  ps -ef |grep E10
  
  # 进入配置文件目录下
  cd ${E10应用根目录}/webapps/ROOT/WEB-INF/classes/weaver/config/config-center
  
  # 编辑配置文件
   vi eteams-storage-service.properties
  ```

![CleanShot 2025-04-08 at 14.35.00.gif](https://weapp.eteams.cn/api/file/preview?fileId=1120532473381339211&type=imgs)

# 步骤3、原本地存储物理文件迁移到新本地存储

将原本地存储根目录下（不包含根目录）所有文件、文件夹，保持原目录结构不变，迁移到新本地存储根目录下

 请联系客户则人员，或者部署或者实施或者维护人员操作，总部开发人员不负责此步骤，若需要协助操作，可咨询总部部署组同事

# 步骤4、更新表数据

> - 下述sql中的#{oldRootPath}占位符表示根据 【一、获取原系统默认本地存储根路径】获取到的原本地存储根目录
> - sql中#{newRootPath}占位符表示根据【二、整个系统切换到新本地存储】配置的新本地存储根目录

#### a. oracle

```sql

UPDATE file_storage_info
SET file_path = '#{newRootPath}'||  SUBSTR(file_path, LENGTH('#{oldRootPath}') + 1, LENGTH(file_path)),rule_version_id = null
WHERE file_path LIKE '#{oldRootPath}%';
```

#### b. mysql

```sql
UPDATE file_storage_info
SET file_path = CONCAT('#{newRootPath}', SUBSTRING(file_path, LENGTH('#{oldRootPath}') + 1)),rule_version_id = null
WHERE file_path LIKE '#{oldRootPath}%';
```

#### c. sqlserver

```sql
UPDATE file_storage_info
SET file_path = '#{newRootPath}' + SUBSTRING(CAST(file_path AS NVARCHAR(MAX)), LEN('#{oldRootPath}') + 1, 
LEN(CAST(file_path AS NVARCHAR(MAX)))),rule_version_id = null
WHERE file_path LIKE '#{oldRootPath}%';
```

#### d. postgresql

```sql
UPDATE file_storage_info
SET file_path = '#{newRootPath}' || SUBSTR(file_path, LENGTH('#{oldRootPath}') + 1, LENGTH(file_path)),rule_version_id = null
WHERE file_path LIKE '#{oldRootPath}%';
```

# 步骤五、迁移示例

#### a. 将当前系统本地存储中的附件迁移到/home/data

1. 通过【一、获取系统默认本地存储根路径】查询得到原本地存储根路径：/nfs/data
2. 通过【二、整个系统切换到新本地存储】将当前系统存储切换到 /home/data
3. 直接将/nfs/data目录下所有文件、文件夹全量复制到/home/data下
4. 假设数据库是mysql，执行以下刷新数据sql
  
  ```sql
  # mysql
  UPDATE file_storage_info
  SET file_path = CONCAT('/home/data', SUBSTRING(file_path, LENGTH('/nfs/data') + 1)),rule_version_id = null
  WHERE file_path LIKE '/nfs/data%';
  ```
