【发布时间】:2019-04-17 02:28:54
【问题描述】:
我正在尝试使用 Liquibase 创建 Oracle CTXSYS.CTXCAT 索引类型。如何使用 Liquibase 创建这种类型的 Oracle 索引?
我执行操作的方式是使用 SQL 变更集
<changeSet id="1" author="giovanni.esposito">
<sql endDelimiter="/">
CREATE INDEX idx_full_txt_search ON ${defaultSchemaName}.employee(full_text_search) INDEXTYPE IS CTXSYS.CTXCAT;
/
</sql>
</changeSet>
当 Liquibase 执行语句时,它返回 ORA-02158: invalid CREATE INDEX option。但是,使用 SQLDeveloper,我可以使用相同的语句创建索引。
解决方案
<changeSet id="1" author="giovanni.esposito">
<sql endDelimiter=";">
CREATE INDEX idx_full_txt_search ON ${defaultSchemaName}.employee(full_text_search) INDEXTYPE IS CTXSYS.CTXCAT;
</sql>
</changeSet>
【问题讨论】:
-
好的,对于任何可能面临这个问题的人。我发现了错误,endDelimiter 应该是 ';'并不是 '/'。我将编辑添加解决方案的问题。
-
如果您找到了答案,请不要编辑您的问题。添加答案并接受它,否则问题将保持打开状态。