Запустить пакетный файл sql в Liquibase - PullRequest
0 голосов
/ 28 июня 2018

Я использовал файл сценария sql для создания пакета в Liquibase. Но после обновления liquibase создается только пакет, а не тело пакета.

Пожалуйста, смотрите мой код ниже

create or replace package BUILD2TEST.MyPackage is    
  /* my code */
END MyPackage;    
create or replace package body BUILD2TEST.MyPackage is    
    /* my code */
end MyPackage;

Знаете ли вы, почему liquibase не может создать корпус упаковки?

Моя ревизия

 <changeSet author="taibc" id="sqlFile-example2">
<sqlFile dbms="h2, oracle"
        encoding="utf8"
        endDelimiter="\nGO"
        path="CreatePackage.sql"
        relativeToChangelogFile="true"
        splitStatements="true"
        stripComments="true"/>
  <rollback>
    DROP PACKAGE BUILD2TEST.MyPackage;         
</rollback>     

1 Ответ

0 голосов
/ 28 июня 2018

В вашем файле sql неверный разделитель.

попробуйте с этим:

create or replace package BUILD2TEST.MyPackage is    
  /* my code */
END MyPackage; 
/
create or replace package body BUILD2TEST.MyPackage is    
    /* my code */
end MyPackage;
/

и измените свой разделитель на это:

<changeSet author="taibc" id="sqlFile-example2">
<sqlFile dbms="h2, oracle"
        encoding="utf8"
        endDelimiter="\n/"
        path="CreatePackage.sql"
        relativeToChangelogFile="true"
        splitStatements="true"
        stripComments="true"/>
  <rollback>
    DROP PACKAGE BUILD2TEST.MyPackage;         
</rollback>   

по крайней мере, это должно работать для оракула

...