Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 处理累积更新的RPM技术?_Database_Upgrade_Rpm - Fatal编程技术网

Database 处理累积更新的RPM技术?

Database 处理累积更新的RPM技术?,database,upgrade,rpm,Database,Upgrade,Rpm,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的

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规范文件中没有看到任何指示这一点的内容

是否有任何已知的处理方法?谷歌搜索一点也没有发现任何问题


编辑:我所说的“已知”,是指“经过验证”而不是理论性的。

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