プロジェクトでliquibaseを使用していますが、ビルドが失敗する原因に気づきました。mysqlの同じスキーマに対してコマンドラインgenerateChangeLogを正常に使用し、そのファイルをmaster-change-logファイルに含めました。
テスト環境では、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>
変更ログファイルではすべて小文字になっていることがわかります。変更ログ言語を大文字に変更してみましたが、スクリプトでは、二重引用符が残っているだけで大文字になっています。:(
これを修正するにはどうすればよいですか?読んでくれてありがとう。