Liquibase Informix generateChangelog问题

时间:2015-02-18 08:06:45

标签: database hibernate informix liquibase

我正在使用Liquibase版本3.3.2使用generateChangeLog命令为我现有的Informix数据库创建更改日志。

changelog.xml(483 Kb)已成功创建,但不包含任何更改集!我尝试过使用其他版本的Liquibase但没有成功。它是Liquibase的错误吗?

我的命令看起来像这样 -

liquibase --changeLogFile=changelog.xml --url="jdbc:informix-sqli://172.28.137.182:9088/glsnextgen:informixserver=testgif" --username=abc --password=abc --logLevel=debug --logFile=log.txt --defaultSchema=sysmaster generateChangeLog

但是,生成的更改日志没有更改集。这就是更改日志的样子 -

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

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

这是我的调试日志的样子 -

DEBUG 18/2/15 11:22 AM: liquibase: Connected to santhosh@jdbc:informix-sqli://172.28.137.182:9088/glsnextgen:informixserver=testgif

DEBUG 18/2/15 11:22 AM: liquibase: Setting auto commit to false from true

DEBUG 18/2/15 11:22 AM: liquibase: Executing EXECUTE database command: EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('T');

DEBUG 18/2/15 11:22 AM: liquibase: Computed checksum for 1424238728847 as 9ed2ff6dc6133a2a2bb8f27d79bd1597

INFO 18/2/15 11:22 AM: liquibase: changelog1.xml does not exist, creating

DEBUG 18/2/15 11:22 AM: liquibase: MissingObjectChangeGenerator type order:     liquibase.structure.core.Catalog    liquibase.structure.core.Schema    liquibase.structure.core.Sequence    liquibase.structure.core.StoredProcedure    liquibase.structure.core.Table    liquibase.structure.core.Column    liquibase.structure.core.PrimaryKey    liquibase.structure.core.UniqueConstraint    liquibase.structure.core.ForeignKey    liquibase.structure.core.Index    liquibase.structure.core.View

DEBUG 18/2/15 11:22 AM: liquibase: UnexpectedObjectChangeGenerator type order:     liquibase.structure.core.Catalog    liquibase.structure.core.ForeignKey    liquibase.structure.core.Schema    liquibase.structure.core.StoredProcedure    liquibase.structure.core.UniqueConstraint    liquibase.structure.core.View    liquibase.structure.core.Table    liquibase.structure.core.PrimaryKey    liquibase.structure.core.Column    liquibase.structure.core.Index    liquibase.structure.core.Sequence

DEBUG 18/2/15 11:22 AM: liquibase: ChangedObjectChangeGenerator type order:     liquibase.structure.core.Catalog    liquibase.structure.core.ForeignKey    liquibase.structure.core.Schema    liquibase.structure.core.Sequence    liquibase.structure.core.StoredProcedure    liquibase.structure.core.Table    liquibase.structure.core.Column    liquibase.structure.core.PrimaryKey    liquibase.structure.core.Index    liquibase.structure.core.UniqueConstraint    liquibase.structure.core.View

1 个答案:

答案 0 :(得分:1)

似乎liquibase假设Informix始终使用ansi模式,并且在该模式下,模式是表的所有者。

然后在您的参数--defaultSchemaName = sysmaster中,它应该更改为--defaultSchemaName =&lt;表的所有者&gt;

<强>更新 这适用于版本3.4.1,您可以在可选的参数command line documentation

上看到