我使用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