Создайте индекс Oracle CTXSYS.CTXCAT с помощью Liquibase. - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь создать тип индекса Oracle CTXSYS.CTXCAT с помощью Liquibase.Как я могу создать этот тип индекса Oracle с Liquibase?

Я выполнил операцию с помощью набора изменений 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: недопустимая опция CREATE INDEX.Но с помощью 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>

1 Ответ

0 голосов
/ 16 апреля 2019

Для любого, кто может столкнуться с этой проблемой. Я нашел ошибку, endDelimiter должен быть ';' и не '/'. Я отредактирую вопрос, добавив решение.

РЕШЕНИЕ

<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>
...