请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

Grayson.Shang 活字格认证 Wyn认证
超级版主   /  发表于:2025-4-28 12:30  /   查看:218  /  回复:0
本帖最后由 Grayson.Shang 于 2025-4-28 16:09 编辑

我和很多格友沟通过,第三方业务系统附件迁移,但是很多情况下都是提供实现的思路,这一段时间我将这个场景做了整理,做了一个方案,分享给大家。

开始这个方案之前,我先问一个问题,看看大家有什么见解
将第三方的附件迁移到活字格中,最重要的是什么?
是将第三方的附件拷贝到活字格的附件路径,并重命名文件名,加上GUID,然后再遍历这些附件名称,存储到活字格的数据表中?

其实不是,系统级的附件迁移,附件只是附带的,真正重要的是存储附件的数据

在一个系统中,附件离开了存储的数据,在系统中就不可追溯,那么它本身就会成为垃圾文件。
所以,想要迁移第三方业务系统附件到活字格中,最主要的是将附件和数据同时迁移,并且保证数据表中记录的就是第三方业务系统中指向的附件。

那么开始今天的方案内容:
1、获取第三方存储附件数据表结构和数据
这一步骤,即使可以直连第三方业务系统数据库,也不建议直接连,而是将原有的第三方数据表结构和数据,备份出来,再在活字格中连接。
这个是有格友提供的,第三方系统存储的存储附件数据的格式,我这里做了借鉴
image.png724281615.png
很显然这里存储的逻辑和活字格的存储逻辑是有区别的
活字格不单独定义相对路径的情况下,都是默认存储到Upload目录下的,然后通过给文件名+GUID做唯一区分和快速定位。
而这个系统,文件名还是保留原来的文件名,通过创建子目录区分文件。

2、数据表中增加一个字段,用于存储活字格中引用的附件
既然要保证,数据和文件一起存储到活字格中,那么比较好的方案之一,就是在原有的数据表上增加附件字段,存储第三方系统移动后的活字格的附件。
image.png342155150.png

3、构建活字格存储附件的完整逻辑,再拷贝附件到活字格
活字格附件存储的逻辑,不做过多讲解,这里说几个关键点
  • 文件重命名——GUID_原文件名.后缀
  • 附件的移动路径——需要是活字格当前系统的附件存储路径
  • 是否保留原附件的相对路径
  • 增加一个附件迁移的日志表,对于迁移失败的业务数据进行记录,方便后续调查
V10之后的版本,活字格的附件存储逻辑,可以将所有子目录下的附件统一存储到同一个目录,也可以给附件增加子目录,所以可以选择保留第三方系统的相对目录,也可以都放在Upload目录下。

附demo,具体使用方案如下:
1、在全局变量中,配置原附件的存储路径,看情况修改是否保留原相对路径
image.png102752074.png
2、测试运行服务端命令“复制文件到附件路径”
image.png56285399.png


这个Demo,包含不了所有的场景,若和实际场景有出入的,可以参考这个场景下的实现思路,修改Demo。

第三方系统附件迁移DemoV11.fgcc

566.92 KB, 下载次数: 12

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部