当前位置: 首页 > 面试题库 >

Liquibase是否支持空运行?

黄淇
2023-03-14
问题内容

我们有几个数据模式,我们研究了向Liquibase的迁移。(其中一种数据模式已经迁移到Liquibase)。

对我们来说重要的问题是Liquibase是否支持空运行:

  • 我们需要在所有html" target="_blank">架构上运行数据库更改而无需提交,以确保我们没有问题。
  • 如果成功,则所有数据库更改都将再次通过提交运行。

答案后添加

我阅读了有关updateSQL的文档,但它不能满足“快速运行”的要求。它只是生成SQL(在命令行,Ant任务和Maven插件中)。我将澄清我的问题:

Liquibase是否支持对交易的控制?

我想在执行Liquibase变更日志之前打开事务,并在执行变更日志后回滚事务。当然,我需要验证执行结果。

是否有可能?

添加

如果没有对事务(或空运行)的控制,我们就无法将所有模式迁移到Liquibase。

请帮忙。


问题答案:

您可以尝试“
updateSQL”模式,它将连接数据库(检查您的访问权限),获取数据库锁,生成/打印要应用的SQL语句(基于数据库状态和您当前的liquibase更改集),还将打印缺少chageset
id的信息处于db的当前状态并释放db锁定。



 类似资料:
  • 所以,如果我们只想在Liferay startup上运行一些东西,我们可以使用其他一些答案中描述的技术,比如下面。然而,为了使用OS管理表达式来表达自己,它提供了“自动运行”功能。每次启动Liferay时,此代码都会运行。这对于portlet初始化和其他工作非常有用,每次启动Liferay时都需要执行这些操作。 但是,我想知道的是,Liferay中是否有“运行一次”功能?那么,有没有一种方法可以指

  • 我试图在本文之后创建一个简单的应用程序,但我无法获得节点Lambda函数来查找dynamodb-geo包。 以下是我的资料: Lambda抛出的错误是: START RequestId:5D40D132-040F-447D-BD76-35C4CEC0236A版本:$Latest 2019-10-05T10:04:24.719Z未定义错误未捕获异常{“ErrorType”:“Runtime.Impo

  • 问题内容: 因此,我希望将其转换为这样的Java代码: JAXB是否可能? 曾经看到一些WebService Client存根生成器正在执行此操作,但也许不确定axis2 Webservice。 问题答案: 的 JAXB(JSR-222) 规范没有盖产生快速失败逻辑到域模型。现在,一种常见的做法是以注释(或XML)的形式表示验证规则,并对它们进行验证。 Bean验证(JSR-303) 对此进行了标

  • 问题内容: 我正在尝试执行一个简单的INSERT并返回标识(自动递增主键)。我试过了 我收到以下错误 SQLite是否支持SCOPE_IDENTITY? 如果可以,该如何使用? 如果不是,我(最好是“线程安全”)的替代方案是什么? 问题答案: 查看常见问题解答。该sqlite3_last_insert_rowid()函数将做到这一点。不过要小心触发器。

  • 我正在使用RDF4J工作台: 尽管我可以在github上的RDF4J存储库中看到对GeoSPARQL的引用,但目前似乎还没有实现。我在已清除的“带RDFS自旋支持的内存存储”存储库上运行了这个SPARQL更新查询,以在RDF4J工作台上设置测试: 这导致一个存储库具有一个事实。 现在,我尝试通过以下查询查找与文字多边形的重叠,该查询应该可以找到上面设置的一个事实: 此查询以HTML的形式给出了一个

  • 问题内容: 我想知道是否有任何方法可以在Java中实现。我认为,如果没有本地对闭包的支持,这是不可能的。 问题答案: Java 8(2014年3月18日发布)不支持curring。可以将Missingfaktor在答案中发布的示例Java代码重写为: …这是非常好的。就个人而言,有了Java 8,我几乎没有理由使用替代的JVM语言(例如Scala或Clojure)。当然,它们提供了其他语言功能,但