liquibase - liquibase 是否允许访问自定义任务的 java.sql.Connection

标签 liquibase

有没有办法让 liquibase 调用自定义 Java 类/插件并让该类访问底层连接以进行数据更改。我看了看,但它只是

因此,我们的更新步骤需要大量的数据操作,这比使用 SQL 更容易在代码中执行和调试。所以我想编写可以提取、转换和保存数据的任务。在 liquibase 框架内这可能吗?

最佳答案

如果您使用扩展框架 (liquibase.org/extensions) 使用 Change 的子类,则 generateStatements() 方法将传递给正在执行更改的 Database 对象。打电话

((JdbcConnection) Database.getConnection()).getUnderlyingConnection() 

将返回使用的 java.sql.Connection。

如果您使用的是 CustomTaskChange 接口(interface),则执行的 execute() 方法将传递给您可以从中获取连接的同一 Database 对象。

关于liquibase - liquibase 是否允许访问自定义任务的 java.sql.Connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8977746/

相关文章:

mysql - 添加外键时 Liquibase 出错

java - 如何使用 NodeJs 在 Heroku 上设置 liquibase?

postgresql - Liquibase 差异 - 驱动程序问题

liquibase - 重复的列名,在注释变更集并取消注释后在 liquibase 中

Liquibase Snowflake 集成 - 特别是 : generateChangeLog

docker - 为什么在获得DC/OS锁定后,MySQL数据库上的Liquibase迁移会死掉(与docker-compose一起正常工作)?

java - Liquibase Maven 多模块

java - Spring 启动 1.4 : Executing Method after Liquibase finished

mysql - 从 liquibase-mave-plugin 运行 outPutChangeLogFile 会导致堆空间错误

Grails 数据库迁移插件