我有2个数据库:db 1和db 2
我需要根据db 2中的表是否存在对db 1采取不同的操作,并且我使用liquibase来记录我的操作。
这是我到目前为止的解决方案
<preconditions onFail="CONTINUE">
<sqlcheck expectedResult="1">
IF EXISTS (SELECT 1 FROM DB2.INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'MY_TABLE')
SELECT 1 ELSE SELECT 0
</sqlCheck>
</precondition>
问题是:这是mssql语法,如果我尝试使用不同的db,我需要更改为使用不同的语法,那么做这种事情的最佳方法是什么?
答案 0 :(得分:1)
您是否尝试过<tableExists>
前置条件http://www.liquibase.org/documentation/preconditions.html?
您还可以在Java中将任何逻辑实现为<customPrecondition>
。