2012-01-23 42 views
3

有没有一种方法可以让liquibase调用自定义的Java类/插件并为该基础连接授予该类访问权限以更改数据。我只看到了它,但它只是liquibase是否允许访问java.sql.Connection以进行自定义任务

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

回答

5

如果您正在使用扩展框架(liquibase.org/extensions)使用Change的子类,那么generateStatements()方法将传递数据库对象,正在执行更改。调用

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

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

如果您正在使用CustomTaskChange接口,则执行的execute()方法将传递给您可以从中获取连接的相同数据库对象。

相关问题