2017-02-22 63 views
0

我已经下载了Liquibase的Oracle插件,我用maven构建了它,并在Liquibase主页的/ lib目录中复制了liquibase-oracle-3.3-SNAPSHOT.jar。 我已经添加了命名空间到changelog文件,在文件报道,这是我的changelog文件:通过CLILiquibase中用于Oracle插件的ChangeSet总是空的

<databaseChangeLog 
xmlns="http://www.liquibase.org/xml/ns/dbchangelog" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:ora="http://www.liquibase.org/xml/ns/dbchangelog-ext" 
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd 
http://www.liquibase.org/xml/ns/dbchangelog-ext  http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd"> 

<changeSet author="myAuthor" id="xxx"> 
    <ora:encapsulateTableWithView tableName="TABLENAME"/> 
</changeSet> 
</databaseChangeLog> 

更新操作总是成功的,但没有发生在DB:行中的DATABASECHANGELOG表指此操作正确,但在说明栏中报告为“空”。

我还将liquibase-oracle-3.3-SNAPSHOT.jar添加到liquibase.properties文件中的类路径中,但它没用。 在DATABASECHANGELOG表中使用特定Oracle插件标记跟踪的每个changeSet具有相同的校验和(7:d41d8cd98f00b204e9800998ecf8427e),并在DESCRIPTION中报告“空”。

有什么想法?

回答

0

我发现是什么问题:我推出的CLI命令

java -jar liquibase.jar --changeLogFile=myChangeLog.xml update 

但始终变更导致空:这是因为liquibase.jar没有从liquibase甲骨文-3.3-SNAPSHOT.jar上课。我添加了liquibase.bat PATH环境变量和新命令是

liquibase --changeLogFile=myChangeLog.xml update 

它工作正常。