Let we have the following folder structure
folder_01
subfolder_03
file_1.sql
file_2.sql
subfolder_04
file_1.sql
file_2.sql
folder_02
subfolder_01
file_1.sql
file_2.sql
subfolder_02
file_1.sql
file_2.sql
file_01.sql
file_02.sql
zfile.sql
and I have changelog with includeAll:
<databaseChangeLog
xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.9
http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">
<includeAll path="/multifolder/"/>
</databaseChangeLog>
the order of inclusion will be following
-- *********************************************************************
-- Update Database Script
-- *********************************************************************
-- Change Log: multifolder.xml
-- Ran at: 19.09.16 15:40
-- Against: null@offline:oracle
-- Liquibase version: 3.5.1
-- *********************************************************************
SET DEFINE OFF;
-- Changeset multifolder/file_01.sql::1::includeall
select 'file01' f from dual;
-- Changeset multifolder/file_02.sql::1::includeall
select 'file02' f from dual;
-- Changeset multifolder/folder_01/subfolder_03/1.sql::1::includeall
select 'folder_01subfolder_03_file1' f from dual;
-- Changeset multifolder/folder_01/subfolder_03/2.sql::1::includeall
select 'folder_01subfolder_03_file2' f from dual;
-- Changeset multifolder/folder_01/subfolder_04/1.sql::1::includeall
select 'folder_01subfolder_04_file1' f from dual;
-- Changeset multifolder/folder_01/subfolder_04/2.sql::1::includeall
select 'folder_01subfolder_04_file2' f from dual;
-- Changeset multifolder/folder_02/subfolder_01/1.sql::1::includeall
select 'folder_02subfolder_01_file1' f from dual;
-- Changeset multifolder/folder_02/subfolder_01/2.sql::1::includeall
select 'folder_02subfolder_01_file2' f from dual;
-- Changeset multifolder/folder_02/subfolder_02/1.sql::1::includeall
select 'folder_02subfolder_02_file1' f from dual;
-- Changeset multifolder/folder_02/subfolder_02/2.sql::1::includeall
select 'folder_02subfolder_02_file2' f from dual;
-- Changeset multifolder/zfile.sql::1::includeall
select 'zfile.sql' f from dual;
So files and folders are sorted together level by level.
One moment you should to keep in mind. If I write
<includeAll path="multifolder/"/>
instead of
<includeAll path="/multifolder/"/>
I’ve got Unexpected error running Liquibase: Unknown Reason
Комментариев нет:
Отправить комментарий