代码之家  ›  专栏  ›  技术社区  ›  Alan Krueger

处理累积更新的RPM技术?

  •  0
  • Alan Krueger  · 技术社区  · 15 年前

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

    例如,假设您有版本为1.2.1、1.2.2、1.2.3和1.3.0的产品foo。在每一项中,都有需要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规范文件中没有看到任何指示这一点的内容。

    有什么已知的处理方法吗?一点谷歌搜索都没有曝光。

    编辑:我所说的“已知”,是指“尝试和证明”,不是理论上的。

    1 回复  |  直到 15 年前
        1
  •  0
  •   RibaldEddie    15 年前

    使用正确的工具进行作业。RPM可能不是正确的工具。像Liquibase这样的产品更适合这项任务。