用于处理累积更新的RPM技术?

时间:2009-10-07 19:38:43

标签: database upgrade rpm

RPM似乎非常擅长检查依赖项和处理单个文件更新,但处理多个版本的关系数据库的累积更新的最佳做法是什么?

例如,假设您的产品Foo版本为1.2.1,1.2.2,1.2.3和1.3.0。在每个中,都有需要SQL升级脚本的数据库架构更改。需要按顺序运行每个升级脚本才能使用当前版本的架构。

假设客户已安装1.2.2并希望升级到1.3.0。如何构建RPM包以便您拥有适当的脚本并对数据库执行正确的升级脚本?在这种情况下,您需要执行1.2.3和1.3.0的升级脚本,而不是1.2.1或1.2.2的升级脚本。因为那些可能已经被执行过了。

一种替代方法是要求按顺序升级到每个中间版本,迫使此示例中的用户在1.3.0之前升级到1.2.3。这似乎不太理想。此外,这可能需要通过外部进程“强制”,因为我没有在RPM SPEC文件中看到任何表明这一点的内容。

有没有已知的处理方法?一点谷歌搜索没有暴露任何。

编辑:通过“已知”,我的意思是“经过尝试和证明”不是理论上的。

1 个答案:

答案 0 :(得分:0)

使用正确的工具完成工作。 RPM可能不是正确的工具。像Liquibase这样的东西更适合这项任务。