当前位置: 首页 > 知识库问答 >
问题:

检查变更日志和数据库是否相等

祁渊
2023-03-14

我们使用liquibase指定数据库布局及其更改。在开发中,我们使用集成在Java应用程序中的liquibase来执行必要的更新。

因为我们的应用程序没有权利在生产中更改模式,所以liquibase不在生产中运行。相反,我们使用liquibase生成SQL脚本。然后在部署应用程序之前手动执行这些脚本。

我们希望确保数据库布局与对应于应用程序的变更日志匹配。SQL脚本创建DATABASE CHANGELOG表并插入类似liquibase的update命令的行,因此有关应用的变更集的信息存储在数据库中。

但是我找不到一个合适的liquibase方法,它只检查应用程序的变更集和数据库布局/DATABASE CHANGELOG是否相等。此方法不能尝试修复此问题,它应该只返回true/false。liquibaseJavaAPI中是否有这样的方法?

共有1个答案

姚晋
2023-03-14

在翻阅liquibase源代码后,我找到了我正在寻找的方法:

liquibase.listUnrunChangeSets(null, null);

这正是我想要的,看起来效果不错。

 类似资料:
  • 问题内容: 当我的函数f用一个变量调用时,我想检查var是否是一个熊猫数据框: 我想解决方案可能很简单,但即使 我无法使其按预期工作。 问题答案: 使用,没有别的: PEP8明确表示这是检查类型的首选方法 而且甚至不用考虑 处理继承(请参见type()和isinstance()之间的区别?)。例如,它会告诉你,如果一个变量是一个字符串(或),因为他们从派生) 专门针对 对象:

  • 我有一个小的应用程序,用户可以拖放一个HTML表中的任务。 当用户删除任务时,我调用一个名为的javascript函数: 在task_update.php中,我得到我的值;、&并执行PDO更新查询来更新我的数据库。如果查询正确执行,则I 对我来说,最好的做法是什么?

  • 问题内容: 我知道我可以这样做: 然后只需编写语句中所需的代码。 还有其他方法可以检查它们是否相等? 问题答案: 怎么了 if(!Arrays.equals(array1,array2)) 与相同,即是同一数组。这不是大多数人期望的。 比较数组的内容。

  • 我已经在谷歌上搜索了两个星期了,没有任何效果。我只想知道如何检查给定的用户名是否存在于我的MySQL数据库表中。表名为用户。但是它似乎绕过了我的if语句,直接添加用户名,导致我的表有相同用户名的重复。我试过很多代码,也试过很多方法。一直在使用MySQL,因为这是我们现在应该使用的。我可以给你我尝试过的任何方法,但这是我第100次尝试的最新方法。请注意,我知道这还没有完全准备好抵御SQL注射,我现在

  • 我是一个拥有ROOM,RXJava和Android的新手。 在Android应用程序测试中,REST服务检索用户列表。如果用户已经存在,则必须修改此列表。如果该用户不存在,则将该用户插入到数据库中。如果用户已经存在,则不插入该用户。 在活动中的验证如下: Iserdao consiste en lo Siguiente: El UserRepository contiene lo siguient

  • 问题内容: 将Apache Derby与Java结合使用(J2ME,但我认为这没有什么不同),是否有任何方法可以检查数据库是否已经存在并包含表? 问题答案: 除了MySQL之外,我什么都不知道,只有很少的解决方法,这与MySQL具有IF EXIST的功能不同。 您要做的是,尝试连接数据库,如果不可能的话。在成功建立连接之后,您可以执行简单的选择,例如SELECT count(*)FROM TABL