10 · 从旧版软件迁移

◀ 返回目录

Factuzam 包含一款独立工具 Factuzam MigratorFactuzamMigrator.exe), 用于将旧 ERP(SQL Server 数据库)的数据迁移到 factuzamMariaDB)数据库。本章介绍迁移内容、目标数据库准备方式, 以及如何执行和验证迁移。

这是通常只在上线时执行一次管理员操作, 需要同时访问旧数据库和新数据库。


1. 工具说明与要求

Migrator 主界面


2. 迁移哪些数据

迁移器会遵循依赖顺序迁移以下业务域:

业务域 迁移内容
付款方式、增值税组、增值税基础目录。
公司开票公司。
仓库仓库(及其收银台、系列和计数器)。
客户完整客户资料。
供应商完整供应商资料。
商品类别商品分区和类别(保留层级)。
颜色和尺码主属性目录。
商品商品目录。
每件商品的颜色/尺码、尺码体系商品变体分配。
SKU可销售变体 + 条形码
盘点盘点及其明细。
移动记录仓库移动(并重建当前库存)。
销售(收银)收银操作、付款和客户押金。
发票发票及其明细。
采购订单、送货单、供应商退货和采购发票。
付款组合采购应付款和供应商付款批次。
员工与登录用户分开的收银、调拨和盘点操作人员。

迁移会分批并行运行:互不依赖的业务域同时处理, 每一批等待上一批完成(目录 → 主数据 → 变体 → 单据)。


3. 准备目标数据库

Migrator 自带 «Preparar BBDD destino» 区域和三个按钮, 用于在不依赖外部文件的情况下创建新数据库:

  1. Extraer esqueleto de BBDD viva… — 连接参考 factuzam 数据库, 生成包含全部结构(表、视图、存储过程)和系统表数据 (国家、增值税类型、窗口、元数据等)的 .sql。 业务表(商品、客户、发票等)保持为空,由迁移填充。
  2. Crear BBDD destino — 使用 utf8mb4 字符集和 utf8mb4_spanish_ci 排序规则,在 Destino 面板中创建指定数据库。
  3. Cargar esqueleto en destino… — 将第 1 步的 .sql 导入新数据库。

Preparar BBDD destino 区域

另一种方式是像安装章节 那样,从 factuzam_original.sql 创建目标数据库。 如果转储早于迁移器所需变更,请确保同时应用相关结构脚本 (客户代码扩展、供应商名称、类别层级、盘点明细、员工、采购、 采购发票和付款组合)。


4. 分步执行迁移

  1. 为来源和目标数据库都创建备份
  2. 打开 FactuzamMigrator.exe
  3. 配置 Origen(SQL Server)面板:主机、端口、数据库、用户和密码。 点击 Probar conexión
  4. 同样配置 Destino(MariaDB)面板并测试连接。
  5. 勾选要执行的迁移。列表已遵循依赖顺序;完整迁移应全部勾选。 在采购部分,各业务域会在主数据和 SKU 后执行:订单、送货单、 供应商退货、采购发票、应付款和付款批次。
  6. 点击 Ejecutar migraciones。处理期间:
    • 进度面板为每个活动业务域显示一行,实时显示计数器 X / Y (Z %)
    • 按钮会变为 Cancelar:点击后会完成当前业务域再停止 (已迁移内容会保留)。
  7. 完成后检查摘要和错误面板

正在迁移

安全重新执行(幂等性)

迁移是幂等的:如果记录已存在于目标中,会跳过 (计为“已跳过”)并继续。每个业务域在一个事务中运行:发生错误时, 该业务域整体回滚,其他业务域继续。因此,单项失败后可以修正原因并重新运行, 不会重复数据。

错误日志

每次执行会在三个位置留下记录:


5. 迁移后的手工调整

第一版迁移器采用了一些启发式规则,迁移完成后应手工检查:

数据 迁移器操作 后续检查
增值税类型旧系统按日期保存历史;取最高百分比作为普通增值税,低税率/超低税率/免税设为 0。Otros ▸ Impuesto IVA 中补全低税率、超低税率和免税百分比。
仓库代码旧系统按(公司,仓库)索引;目标要求全局唯一代码。生成 E<empresa>-A<almacén>如需其他命名规则,请重命名代码。
商品增值税类型旧系统保存整数;全部迁移为普通增值税(N)。标记采用低税率/超低税率/免税的商品。
客户付款方式使用旧系统应收项目代码作为付款方式代码。检查迁移后的付款方式是否具有所需说明和行为。
商品类别旧系统的分区和类别迁移到同一张表,并保留分区 → 类别层级。检查生成的类别树。
每件商品的尺码集合迁移目录和颜色/尺码分配,但不迁移每件商品的具体尺码集合。为需要的商品分配属性集合(Archivo ▸ Tablas Auxiliares ▸ Colecciones de Atributos)。
历史采购订单、送货单、退货和发票按每个 SKU 一行及其透视尺码重建。Compras 中打开样本,检查供应商、仓库、状态、合计和税费。
采购应付款导入旧版到期款项;已显示支付的项目会同时核销。开始运营前检查待付、已付项目和付款批次。

6. 最终验证

确认迁移成功前:

  1. 核对总数:比较来源与目标中的客户、供应商、商品、SKU 和发票数量 (迁移摘要会显示每个业务域的已插入/已跳过/错误计数)。
  2. 库存:将一组商品的库存与旧系统比较(Almacén ▸ Informes)。 迁移器根据移动记录重建库存。
  3. 单据:打开一些迁移后的发票、收银操作和采购,检查金额和税费。
  4. 测试销售:在 POS 中创建一张测试小票,并在 Ventas Mayor 中创建一张测试发票。
  5. 付款组合:检查采购应付款和付款批次的到期日、状态和银行。
  6. 完成上一节中的手工调整
  7. 为迁移后的数据库创建备份,作为正式起点。

验证完成前,请将旧软件和旧数据库保留为只读历史参考。


◀ Windows 安装 · 目录 · 下一章 ▶ Verifactu (AEAT)