문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
gradle:jooq_codegen [2017/12/21 08:57] kwon37xi [Gradle 에서 코딩으로 code generation] |
gradle:jooq_codegen [2017/12/27 08:52] (현재) kwon37xi [jOOQ gradle code generation] |
||
|---|---|---|---|
| 줄 4: | 줄 4: | ||
| * [[http:// | * [[http:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| ===== Gradle 에서 코딩으로 code generation ===== | ===== Gradle 에서 코딩으로 code generation ===== | ||
| * [[https:// | * [[https:// | ||
| - | <code groovy> | + | * [[https:// |
| - | buildscript { | + | ===== From JPA ===== |
| - | | + | |
| - | classpath 'org.jooq: | + | |
| - | classpath " | + | |
| - | | + | |
| - | } | + | |
| - | task generateOrderShardJooqSources { | + | ===== From Schema XML ===== |
| - | | + | |
| + | * DB Schema 를 XML로 만들어 두고 여기서 코드를 생성할 수 있다. DB 인스턴스가 항상 떠 있을 필요가 없어서 좋다. | ||
| - | doLast { | + | ===== From DDL SQL ===== |
| - | def writer | + | * [[https:// |
| - | new groovy.xml.MarkupBuilder(writer) | + | * [[java:database:migration:flyway|Flyway Java Database Migration]] Flyway 마이그레이션 스크립트 |
| - | .configuration(' | + | |
| - | | + | |
| - | driver(' | + | |
| - | url(' | + | |
| - | user(' | + | |
| - | password(' | + | |
| - | } | + | |
| - | generator() { | + | |
| - | strategy { | + | |
| - | matchers { | + | |
| - | tables { | + | |
| - | table { | + | |
| - | tableClass { | + | |
| - | transform(' | + | |
| - | expression(' | + | |
| - | } | + | |
| - | } | + | |
| - | } | + | |
| - | fields { | + | |
| - | field { | + | |
| - | fieldIdentifier { | + | |
| - | transform(' | + | |
| - | } | + | |
| - | } | + | |
| - | } | + | |
| - | } | + | |
| - | } | + | |
| - | database() { | + | |
| - | name(' | + | |
| - | includes(' | + | |
| - | excludes(' | + | |
| - | schemata { | + | |
| - | schema { | + | |
| - | inputSchema(' | + | |
| - | } | + | |
| - | schema { | + | |
| - | inputSchema(' | + | |
| - | } | + | |
| - | } | + | |
| - | } | + | |
| - | // Watch out for this caveat when using MarkupBuilder with " | ||
| - | // - http:// | ||
| - | generate([: | ||
| - | pojos false | ||
| - | daos false | ||
| - | } | ||
| - | target() { | ||
| - | packageName(' | ||
| - | directory(file(' | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | org.jooq.util.GenerationTool.generate( | ||
| - | javax.xml.bind.JAXB.unmarshal(new StringReader(writer.toString()), | ||
| - | ) | ||
| - | } | ||
| - | } | ||
| - | </ | ||