如何在Odoo中实现14版本到15版本的数据迁移
Odoo 14 业务数据库迁移至 Odoo 15 空库可行方案
前置准备(必做,避免数据丢失)
- 对Odoo 14生产库做全量冷备份,同时备份对应版本的自定义模块代码、Python依赖包清单,确保迁移失败可随时回滚
- 确认Odoo 15空库运行环境符合要求:Python、PostgreSQL版本匹配官方标准,所有Odoo 14上用到的定制模块、第三方模块都已完成Odoo 15版本适配并部署完成
- 所有迁移流程先在测试环境完整复刻、验证数据和业务流程正常后,再操作生产环境
方案一:官方原生升级(适合无大量定制开发的场景)
- 把Odoo 14的备份库恢复到独立测试环境,启动Odoo 14服务确认所有模块运行正常、无报错
- 停止Odoo 14服务,替换运行目录代码为Odoo 15官方源码,同步替换所有适配好的第三方、自定义模块为15版本
- 执行数据库升级命令:
odoo-bin -d 待升级数据库名 -u all --stop-after-init - 命令执行完成后启动Odoo 15服务,登录后台核对核心业务数据(联系人、产品、库存单据、销售/采购订单、财务凭证等)的完整性,验证全链路业务流程可正常跑通
- 验证无误后,将升级完成的数据库备份恢复到目标Odoo 15正式环境即可
方案二:结构化数据迁移(适合定制程度高、官方升级报错无法修复的场景)
- 提前梳理Odoo 14到15的核心业务表映射关系,排除系统废弃表、缓存表,按「主数据->业务单据」的优先级确定迁移顺序,符合数据主外键依赖逻辑
- 数据量较小时可使用Odoo自带的导入导出功能:在Odoo 14后台按业务对象依次导出CSV格式数据,对照Odoo 15对应模块的导入模板调整字段映射后,按顺序批量导入到Odoo 15空库
- 数据量较大时可直接通过PostgreSQL脚本迁移:先在Odoo 15库中创建好所有自定义字段、自定义模型结构,编写SQL脚本将Odoo 14库中对应表的字段映射插入到Odoo 15的对应表中,跳过不需要迁移的系统内置字段
- 迁移完成后做全量校验:对比核心业务对象的总条数、关键字段值一致性,走通完整业务流程(建单、出库/入库、开票、记账等)确认无异常
关键注意事项
- 若两个版本的会计科目结构、库存计价规则存在差异,需提前制定映射规则,避免财务、库存数据出错
- 附件、图片类数据迁移时,除了数据库数据外,还要把Odoo 14的
filestore目录下对应文件完整拷贝到Odoo 15的对应filestore目录 - 所有迁移操作禁止直接在生产环境执行,必须先在测试环境验证通过后再上线
内容的提问来源于stack exchange,提问作者Sakthi Priya
相关产品推荐
相关产品推荐

