Skip to content

迁移数据

提醒

在迁移数据前请确保目标服务器已经安装好数据库。

迁移数据库

注意事项

数据库密码可在下面路径中的配置文件查看,配置项为spring.datasource.druid.password。

shell
cat {织信安装目录}/instance/informat-account/application.yml

备份数据库

备份account库

shell
/usr/local/pgsql/bin/pg_dump -U postgres db_informat2_account_prd  > db_informat2_account_prd.sql

备份biz库

shell
/usr/local/pgsql/bin/pg_dump -U postgres db_informat2_biz_prd_0  > db_informat2_biz_prd_0.sql

传输备份文件到目标服务器

shell
scp [文件路径] [目标服务器登录账户]@[目标服务器IP]:[目标服务器路径]

恢复备份

注意事项

请确保数据库没有活动连接

重命名目标服务器数据库(如果目标数据库有对应库则需要)

sql
ALTER DATABASE db_informat2_account_prd RENAME TO db_informat2_account_prd_bak;
ALTER DATABASE db_informat2_biz_prd_0 RENAME TO db_informat2_biz_prd_0_bak;

创建新数据库

shell
/usr/local/pgsql/bin/psql -d postgres -U postgres -c 'create database db_informat2_account_prd';
/usr/local/pgsql/bin/psql -d postgres -U postgres -c 'create database db_informat2_biz_prd_0';
/usr/local/pgsql/bin/psql -d postgres -U postgres -d db_informat2_biz_prd_0 -c 'create extension ltree';

恢复数据

shell
/usr/local/pgsql/bin/psql -U postgres -d db_informat2_account_prd -f /db_informat2_account_prd.sql
/usr/local/pgsql/bin/psql -U postgres -d db_informat2_biz_prd_0 -f /db_informat2_account_prd.sql

注意事项

  • 1、恢复完成后需要重启织信服务
  • 2、重启完成后需要执行以下检查
    • 系统授权,由于系统授权会绑定机器,需要访问管理后台更新对应的授权
    • 资源配置,需要在管理后台>系统信息>参数设置调整如下配置
      • 登陆和资源,首页地址配置为当前服务部署地址;对于登陆地址、移动端登录URL、资源地址、API地址,如果有配置需要对应调整为当前服务部署地址
      • 文件预览服务,onlyoffice文件预览地址为当前服务部署地址

应用表数据迁移

数据表相关概念可参考,应用表数据结构。以下为使用命令行方式的迁移方式,如果使用数据库客户端方式迁移,请忽略以下内容。

注意事项

  • 数据库表查找

    物理表名称会基于z_{应用ID}_{数据表ID}规则自动生成,其中应用ID和数据表ID是系统生成的12位的唯一ID

  • 数据库系统Seq字段查找

    序列名称会基于z_{应用ID}_{数据表ID}_seq规则自动生成,其中应用ID和数据表ID是系统生成的12位的唯一ID

  • 数据表编号字段序列查找

    编号字段序列名称会基于z_{应用ID}_{数据表ID}_{字段ID}_seq规则自动生成,其中应用ID、数据表ID和字段ID是系统生成的12位的唯一ID

数据备份

shell
/usr/local/pgsql/bin/pg_dump -U postgres db_informat2_biz_prd_0 -t z_{应用ID}_{数据表ID} -a --inserts > z_{应用ID}_{数据表ID}.sql

数据导入

shell
/usr/local/pgsql/bin/psql -U postgres -d db_informat2_biz_prd_0 -f z_{应用ID}_{数据表ID}.sql

重置序列值

  • 数据库系统Seq字段

    sql
    -- 更新数据表序列值为来源值
    UPDATE z_{应用ID}_{数据表ID}_seq SET "last_value"={来源值};
  • 数据表编号字段序列(如果数据表有则需要)

    sql
    -- 更新数据表编号字段序列值为来源值
    UPDATE z_{应用ID}_{数据表ID}_{字段ID}_seq SET "last_value"={来源值};

迁移附件

需要将下方路径的文件进行迁移:

  • /data/minio_home
  • {安装目录}/file_storage

示例

shell
scp /data/minio_home informat@192.168.1.2:/data/minio_home
scp /informat-next/file_storage informat@192.168.1.2:/informat-next/file_storage

INFO

如果目标文件已存在则需要先传输到临时路径上,再覆盖目标路径文件