gpt4 book ai didi

java - liquibase 在 2 个变更日志之间生成 sql

转载 作者:行者123 更新时间:2023-11-29 12:26:10 25 4
gpt4 key购买 nike

我们目前使用 liquibase 对 mysql 数据库进行版本控制,但是,我们不允许在生产环境中运行 liquibase。第一次部署时,我们对数据库进行了 sql 转储,这是迄今为止所有变更日志的合并。

假设当前的变更日志是生产中的变更日志 128。如何在liquibase中生成从128到140的变更日志的sql?

最佳答案

您可以使用updateSQL将更改输出到 SQL 增量脚本文件而不是直接输出到数据库。

可以像这样工作:您保留生产数据库的副本(仅结构 - 不需要数据)作为引用数据库。您让所有 128 个变更集在该数据库上运行,以便它与生产数据库处于相同的状态。

然后让 liquibase 针对该数据库运行 updateSQL 。这只会输出文件中缺少的 SQL(从 128 到 140)。然后你就有了 delta SQL 脚本。

假设在生产中您有 1.0,下一个版本是 1.1,并且变更集 128-140 是从 1.0 到 1.1 的 goind 的一部分,那么您可以将文件命名为 sql_delta__1_0_to_1_1.sql。

数据库管理员可以检查增量文件,如果他们认为没问题,就可以让它运行,并且您的产品数据库将处于版本 1.1。

之后,您还可以对引用数据库运行增量脚本,以确保它与您的生产数据库处于相同的状态。

对于下一个版本,您将重复整个过程。我想你明白这个概念了。

这就是我们使用它的方式...

关于java - liquibase 在 2 个变更日志之间生成 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28283269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com