尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
iDempiere数据库升级指南:从migration脚本看跨版本平滑迁移全流程
iDempiere数据库升级指南从migration脚本看跨版本平滑迁移全流程【免费下载链接】idempiereiDempiere. Community Powered Enterprise. Full Open Source Business Suite ERP/CRM/MFG/SCM/POS项目地址: https://gitcode.com/gh_mirrors/id/idempiereiDempiere 数据库升级并不复杂——它的核心是一套按版本归档的 migration SQL 脚本和一条同步命令。iDempiere 是一套完整的开源企业级业务套件ERP/CRM/MFG/SCM/POS元数据全部存放在数据库中因此版本升级的本质就是按时间顺序补齐数据库脚本。本文将带你完整走一遍 iDempiere 数据库升级流程从脚本目录结构讲起到一键同步与生产监控方案帮助你安全地完成跨版本平滑迁移。为什么 iDempiere 的升级是补脚本iDempiere 采用元数据驱动架构窗口、表格、字段、流程等 UI 与业务定义都以数据形式存放在AD_Window、AD_Table、AD_Column等字典表中。所以升级应用代码的同时必须同步升级数据库里的元数据和业务表结构官方为每个大版本提供成对的postgresql/与oracle/脚本升级 把尚未执行的脚本按时间戳顺序补跑一遍每个脚本执行后都会调用register_migration_script()函数把文件名登记到AD_MigrationScript表系统借此判断哪些脚本还没跑。一个典型的脚本开头migration/iD14/postgresql/202511201738_IDEMPIERE-6733.sql就是先登记、再改表、再同步字典数据三步一体SELECT register_migration_script(202511201738_IDEMPIERE-6733.sql) FROM dual; ALTER TABLE T_ReportStatement ADD COLUMN Account_ID NUMERIC(10) DEFAULT 0; INSERT INTO AD_Column (...) VALUES (...);migration 目录结构一眼看懂版本迁移路线所有迁移脚本集中在仓库根目录的migration/下每个子文件夹对应一个历史版本按字母序即升级顺序版本目录说明migration/i4.1~migration/iD92008–2021 年间的历史版本脚本4.1 起步migration/iD10~migration/iD14近年主版本如 iD14 是最新的 31 个脚本local_sql/你自建的安装级定制脚本见下文processes_post_migration/所有脚本跑完后统一执行的收尾脚本zip_2pack/存放自建的 2Pack 元数据包 zip 文件每个版本目录内部固定分postgresql/和oracle/两个子目录脚本命名约定为yyyymmddHHMM_信息描述.sql时间戳前缀 说明例如202511201738_IDEMPIERE-6733.sql时间戳前缀决定了执行顺序——系统按文件名排序依次应用与所在文件夹无关这正是平滑迁移的关键设计。一键升级用 SyncDB 同步数据库开发环境RUN_SyncDBDev.sh如果你在 Eclipse 中用 install 应用初始化过数据库仓库根目录的 RUN_SyncDBDev.sh 会直接从idempiere.properties读取连接信息并执行同步bash RUN_SyncDBDev.sh # 或指定属性文件和迁移目录 bash RUN_SyncDBDev.sh adempiere.properties migration/iD14生产/服务器环境utils.unix 工具集服务器安装版使用org.adempiere.server-feature/utils.unix/下的工具链RUN_SyncDB.sh→ 按数据库类型调用postgresql/SyncDB.sh或oracle/SyncDB.sh。核心机制非常直白见utils.unix/postgresql/SyncDB.sh查询AD_MigrationScript表得到已执行脚本清单扫描migration/目录下当前数据库类型的.sql文件得到全部脚本清单两者求差集得到待执行脚本按文件名排序逐个用psql执行任一脚本输出中检测到ERROR:/FATAL:等错误标志时立即停止并把每个脚本的完整输出留存在/tmp/SyncDB_out_*/供排查全部成功后追加执行processes_post_migration/里的收尾脚本。已同步时会看到友好提示Database is already in sync - no scripts pending to apply重复执行完全安全幂等。生产级升级MonitoredSyncDB 监控模式正式环境推荐用RUN_MonitoredSyncDB.sh底层是utils.unix/postgresql/MonitoredSyncDB.sh它比普通同步多了三样保障错误留痕脚本报错时自动把AD_MigrationScript中该记录标记为ERError并保存脚本输出方便定位修复包机制.fix供应商/社区可发布修复脚本命名与原脚本一致但后缀改为.001.fix、.002.fix……放入同一目录即可程序会自动查找并应用修复无需手工干预邮件告警若AD_System表配置了 SupportEMail 且系统有 sendmail出错时自动把错误详情发邮件给支持方。官方建议的流程是先在测试/预发环境跑一遍→ 集成修复脚本 → 再在生产环境执行届时修复会被自动带上。加入自己的定制脚本local_sql 规范如果升级时还需要执行安装级定制改动比如自建字段、视图把脚本放进migration/local_sql/规则见该目录的 README.txt目录内同样分postgresql/和oracle/命名沿用yyyymmddHHMM_说明.sql约定它在所有版本目录i4.1 … iD14之后、收尾脚本之前被执行。类似地自建的元数据包可放入migration/zip_2pack/命名为yyyymmddHHMM_客户端代码_说明.zip由org.adempiere.plugin.utils插件在服务器启动后自动应用。升级前检查清单与常见坑 步骤要点1️⃣ 备份数据库升级前执行一次完整备份utils 提供RUN_DBExport.sh/RUN_DBRestore.sh工具2️⃣ 测试环境先行用 MonitoredSyncDB 先跑通全量迁移3️⃣ 版本按序补齐从 i4.1 一路到 iD14脚本必须按时间戳顺序执行不要手工乱序补跑4️⃣ 注意数据库方言postgresql 与 oracle 脚本不可混用脚本按AD_Client/方言独立维护5️⃣ 检查错误输出失败时查看/tmp/SyncDB_out_*/下的 .out 日志按提示手工修复后重跑即可续传6️⃣ 收尾脚本别漏processes_post_migration只在有脚本被应用时才执行手工跳步容易遗漏 小贴士连接信息模板可参考仓库根目录的adempiere-local-template.properties把Connection一行的数据库主机、端口、库名、账号改好即可复用给同步脚本。小结iDempiere 的数据库升级可以归纳为三句话脚本按版本目录 时间戳命名归档天然形成可追溯的迁移流水线SyncDB 通过AD_MigrationScript表做增量对比一键补跑、幂等安全MonitoredSyncDB .fix 修复包 邮件告警为生产环境提供完整的出错兜底方案。掌握这套机制后无论是从 i9 跨到 iD14还是日常跟进小版本补丁你都能在测试环境验证后一条命令完成生产数据库的平滑迁移。【免费下载链接】idempiereiDempiere. Community Powered Enterprise. Full Open Source Business Suite ERP/CRM/MFG/SCM/POS项目地址: https://gitcode.com/gh_mirrors/id/idempiere创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

[光学原理与应用-506]:光为什么会存在偏振?其底层的原因是什么?不同方向的偏振意味着什么?

[光学原理与应用-506]:光为什么会存在偏振?其底层的原因是什么?不同方向的偏振意味着什么?

光偏振通俗解释 1、为什么会有偏振?底层根源 光是电磁波,横波。 横波核心特点:振动方向,和传播方向互相垂直。 举个类比:拿一根绳子,一端固定,手握住另外一头抖动绳子向前传波。 绳子往上下抖…

📅 2026/10/6 9:05:01
电价API、自建爬虫和人工维护Excel的成本对比:什么时候该买第三方接口

电价API、自建爬虫和人工维护Excel的成本对比:什么时候该买第三方接口

电价数据到底该用第三方电价API、自建爬虫,还是继续人工维护Excel,取决于使用频率、覆盖省份、是否进入生产系统、是否需要现货电价和是否要求更新日志。对于多省工商业电价、现货电价和系统级调用场景,电价API的价值通常不只是节省人力&…

📅 2026/10/14 20:19:30
QuickJS完全入门:为什么这个“小而美“的嵌入式JavaScript引擎正悄悄征服IoT世界

QuickJS完全入门:为什么这个“小而美“的嵌入式JavaScript引擎正悄悄征服IoT世界

QuickJS完全入门:为什么这个"小而美"的嵌入式JavaScript引擎正悄悄征服IoT世界 【免费下载链接】QuickJS QuickJS is a small and embeddable Javascript engine. QuickJS sources are copyright Fabrice Bellard and Charlie Gordon. 项目地址: https:…

📅 2026/10/7 12:01:44
MORE NEWS

更多资讯

📰

办理电工证被骗?学历不高怕报不上名?怎么报名不踩坑

办理电工证被骗?学历不高怕报不上名?怎么报名不踩坑 你是不是也担心,自己学历不高,根本报不上电工证?或者已经交了钱,结果还是被坑了?这事儿真的太多了, 办理电工证被骗…

📰

旅顺电工证怎么考,全国通用怎么拿,别怕考不过白交培训费

旅顺电工证怎么考,全国通用怎么拿,别怕考不过白交培训费 怕考不过白交培训费?旅顺电工证怎么考,全国通用怎么拿?你不是一个人在战斗。不少刚接触电工行业的小伙伴,因为对考试流程不熟悉,结果花了几千块培训费,最终因为没通过考试而白忙一场。其实,只…

📰

德州考电工证的试题真实经历:实操考试心里没底怕挂科

德州考电工证的试题真实经历:实操考试心里没底怕挂科 实操考试心里没底怕挂科,这是很多准备考电工证的学员的真实经历。不管是高压电工证还是低压电工证,考试内容都涉及实操和理论,一不小心就可能挂科,耽误时间和机会。特别是德州地区,因为考试内容和流…

📰

考低压电工证考试技巧怎么掌握才能一次通过拿电子证书

考低压电工证考试技巧怎么掌握才能一次通过拿电子证书 实操考试心里没底怕挂科,尤其是像你这样从事漯河水利工程的电工,每天和高压设备、电路打交道,考低压电工证对职业发展太重要了。但很多人担心的是,虽然平时会操作,考试时却总手忙脚乱,特别是实操部…

📰

电工证可以评职称不,电子证书是否被认可?三门峡初次报考者必看

电工证可以评职称不,电子证书是否被认可?三门峡初次报考者必看 你是不是正为找工作发愁,听说很多岗位必须持有电工证才能上岗,可你又担心这个证有没有用?特别是 电子证书…

📰

汉川电工证复审要钱吗官方回应来了!外省证怎么转过来

汉川电工证复审要钱吗官方回应来了!外省证怎么转过来 之前考的证在外省能不能转过来?这可能是不少特种作业人员心头最担心的问题,尤其是在跨省转岗、工作调动频繁的周口地区,电工证复审、补办、转证流程成了大家最关心的日常事务。官方回应早已明确,各地…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬