我使用HSQL DB和liquibase要建立DB模式和liquibase腳本現在用的就是給了一個錯誤liquibase HSQL數據庫列創建錯誤
<changeSet author="fryder" id="1492138266795-903">
<createIndex indexName="ACCESS_GRP_IDX" tableName="ACCESS_GRP">
<column computed="true" name="UPPER("DESCR")"/>
</createIndex>
</changeSet>
CVC-複雜type.3.2.2:屬性「計算'不允許出現在元素'列'中。 - > [Help 1] plz help,note: - 我使用liquibase generatechangelog方法創建了模式定義。
所以爲尋找答案的人。 HSQL數據庫不是全功能的關係數據庫,其所有功能都等於oracle。除去UPPER(" ..和語句的工作。
這意味着你不能在計算函數創建索引。隨着HSQLDB你需要創建一個基於UPPER函數的GENERATED列,然後你可以在這個列上創建一個索引 – fredt
是的,我所做的是刪除索引創建,但現在它在liquibase.exception.DatabaseException失敗:找不到類型或用戶缺少特權:VARCHAR2 [失敗SQL:CREATE TABLE DATABASECHANGELOGLOCK(ID INT NOT NULL,LOCKED BOOLEAN NOT NULL,LOCKGRANTED TIMESTAMP,LOCKEDBY VARCHAR2(255),CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY(ID))] - > [Help 1] – Fryder
啓用Oracle語法兼容性在HSQLDB上使用。 'SET DATABASE SQL SYNTAX ORA TRUE' – fredt