문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
java:database:migration:liquibase [2020/07/16 14:10] kwon37xi |
java:database:migration:liquibase [2022/04/14 12:34] (현재) kwon37xi |
||
---|---|---|---|
줄 15: | 줄 15: | ||
// JDBC 드라이버 등 관련 의존성을 일일이 따로 걸어주거나 아래처럼 runtime에서 그대로 가져온다. | // JDBC 드라이버 등 관련 의존성을 일일이 따로 걸어주거나 아래처럼 runtime에서 그대로 가져온다. | ||
+ | // 공식문서에는 runtime 을 상속하라고 돼 있지만 실제로는 runtimeClasspath 여야 작동했음. Gradle 6.5.x | ||
configurations { | configurations { | ||
- | liquibaseRuntime.extendsFrom | + | liquibaseRuntime.extendsFrom |
} | } | ||
+ | |||
+ | // java 9 이상 버전 사용시에 jaxb 명시적 설정 필요. | ||
+ | liquibaseRuntime group: ' | ||
// 혹시 logback 을 안사용한다면 추가 필요. | // 혹시 logback 을 안사용한다면 추가 필요. | ||
줄 26: | 줄 30: | ||
liquibaseRuntime ' | liquibaseRuntime ' | ||
liquibaseRuntime sourceSets.main.output | liquibaseRuntime sourceSets.main.output | ||
+ | |||
+ | liquibase { | ||
+ | activities { | ||
+ | main { | ||
+ | changeLogFile ' | ||
+ | url " | ||
+ | username " | ||
+ | password " | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | ===== ChangeLog 관리 ===== | ||
+ | * main changelog 관리 XML을 만들고, 거기서 각각 단일 changeset 을 가지는 다른 xml 들을 include 하는 형태로 관리하는 것이 좋다. | ||
+ | * 하나의 chagelog 파일은 하나의 changeset 만 가지는 것이 좋다. | ||
+ | * '' | ||
+ | <?xml version=" | ||
+ | < | ||
+ | xmlns=" | ||
+ | xmlns: | ||
+ | xsi: | ||
+ | http:// | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | * '' | ||
+ | <?xml version=" | ||
+ | < | ||
+ | xmlns=" | ||
+ | xmlns: | ||
+ | xsi: | ||
+ | http:// | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | ===== Change Set Types ===== | ||
+ | ==== sql ==== | ||
+ | * https:// | ||
+ | * SQL 구문을 있는 그대로 넣을 수 있다. | ||
+ | * 기본 delimiter가 '';'' | ||
+ | * '' | ||
+ | <code xml> | ||
+ | < | ||
+ | < | ||
+ | endDelimiter=" | ||
+ | splitStatements=" | ||
+ | stripComments=" | ||
+ | < | ||
+ | < | ||
+ | insert into person (name) values (' | ||
+ | ]]></ | ||
+ | </ | ||
</ | </ | ||
줄 33: | 줄 97: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// |