我在一个项目上使用 liquibase,我才意识到是什么让我的构建失败。我已经成功地使用命令行 generateChangeLog 针对 mysql 中的相同模式并将该文件包含在我的主更改日志文件中。
对于测试环境,我使用 hsqldb。现在所有表名都是连字符与语言分开的。由于我的构建失败,我打开了 mydb.script,所有连字符分隔的表名都是大写的,但语言看起来像这样
CREATE MEMORY TABLE SOME_TABLE(ID BIGINT NOT NULL,OBJ_VESION INTEGER DEFAULT 0 NOT NULL,REQUESTER_PHONE VARCHAR(20),FORM_CODE VARCHAR(100),DATE_STARTED TIMESTAMP,DATE_ENDED TIMESTAMP,LAST_ACTIVITY TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,SOME_TABLE_STATUS VARCHAR(255),CONSTRAINT PK_INCOMING_MESSAGE_SESSION PRIMARY KEY(ID))
CREATE MEMORY TABLE "language"(ID BIGINT NOT NULL,CODE VARCHAR(10),NAME VARCHAR(50),DESCRIPTION VARCHAR(255),CONSTRAINT PK_LANGUAGE PRIMARY KEY(ID))
在更改日志文件中,它们看起来像这样
<changeSet author="highjo (generated)" id="1282409084036-10">
<createTable tableName="some_table">
<column name="id" type="BIGINT">
<constraints nullable="false" primaryKey="true"/>
</column>
<column defaultValueNumeric="0" name="obj_vesion" type="INT">
<constraints nullable="false"/>
</column>
<!-- ... -->
</createTable>
</changeSet>
<changeSet author="highjo (generated)" id="1282409084036-11">
<createTable tableName="language">
<column name="id" type="BIGINT">
<constraints nullable="false" primaryKey="true"/>
</column>
<column name="code" type="VARCHAR(10)"/>
<!-- .... -->
</createTable>
</changeSet>
您可以注意到它们在更改日志文件中都是小写字母。我尝试将更改日志语言更改为大写,而在脚本中它是大写的,只是它仍然有双引号。:(
如何解决这个问题?谢谢阅读。