我正在使用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
答案 0 :(得分:1)
似乎liquibase假设Informix始终使用ansi模式,并且在该模式下,模式是表的所有者。
然后在您的参数--defaultSchemaName = sysmaster中,它应该更改为--defaultSchemaName =&lt;表的所有者&gt;
<强>更新强> 这适用于版本3.4.1,您可以在可选的参数command line documentation
上看到