2015-10-12 3 views
2

Я пытаюсь настроить JOOQ с помощью Postgres и Gradle.Генератор JOOQ: Отсутствует имя

Всякий раз, когда я запускаю задачу генерации я получаю ~ 20 Ambiguous type names:

неоднозначного имя типа: Объект pg_catalog.generate_series генерирует тип one.dbtest.db.pg_catalog.tables.GenerateSeries которые конфликтов с существующий тип one.dbtest.db.pg_catalog.tables.GenerateSeries на некоторых операционных системах . Используйте специальную стратегию генератора, чтобы устранить неоднозначность типов. Неоднозначность имя типа: объект pg_catalog.generate_series генерирует тип one.dbtest.db.pg_catalog.tables.GenerateSeries, который конфликты с существующим типом one.dbtest.db.pg_catalog.tables.GenerateSeries на некоторых операционных системах . Используйте специальную стратегию генератора, чтобы устранить неоднозначность типов.

и сотня такие:

Отсутствует имя: jsonb_exists_all объекта содержит столбец без имени в положении 2 Отсутствует имя: Объект jsonb_exists_any держит столбец без имени в положении 1 Отсутствует имени : Объект jsonb_exists_any содержит столбец без имени в позиции 2 Отсутствующее имя: Объект jsonb_ge содержит столбец без имени в позиции 1 Отсутствующее имя: Объект jsonb_ge содержит столбец без имени в позиции 2 Отсутствует na мне
: jsonb_gt Объект имеет столбец без имени в позиции 1 Отсутствует имя: jsonb_gt Объект имеет столбец без имени в позиции 2 Отсутствует имя: jsonb_hash объект содержит столбец без имени в позиции 1 Отсутствует имя: Объект jsonb_in держит столбец без имени в положении 1 Отсутствующего имя
: jsonb_le объекта содержит столбец без имени в положении 1 Отсутствует названия: jsonb_le объекта содержит столбец без имени в положения 2 Отсутствует имя: jsonb_lt объекта держит столбец без имени в позиции 1 Отсутствующее имя: Объект jsonb_lt содержит столбец без имени в позиции 2 Отсутствует имя
: jsonb_ne Объект имеет столбец без имени в позиции 1 Missing имя: jsonb_ne Объект имеет столбец без имени в положении 2

мне нужно исключить пкг * типы Do?

Генерировать задачу берется из образцов JOOQ:

task generate << { 
    def writer = new StringWriter() 
    def xml = new groovy.xml.MarkupBuilder(writer) 
    .configuration("xmlns": "http://www.jooq.org/xsd/jooq-codegen-3.7.0.xsd") { 
    jdbc() { 
     driver("org.postgresql.Driver") 
     url("jdbc:postgresql://localhost/pagila") 
     user("xxx") 
     password("xxx") 
    } 
    generator() { 
     database() { 
     name { mkp.yield('org.jooq.util.postgres.PostgresDatabase') } 
     exclude("pg.*") 
     } 
     generate() {} 
     target() { 
     packageName("one.dbtest.db") 
     directory("src") 
     } 
    } 
    } 

    //println writer.toString() 

    org.jooq.util.GenerationTool.main(
    javax.xml.bind.JAXB.unmarshal(
     new StringReader(writer.toString()), 
     org.jooq.util.jaxb.Configuration.class 
    ) 
) 
} 

Обновлено: БД pagila из http://pgfoundry.org/projects/dbsamples

+0

Просто, чтобы вы знали, я в основном новичок в Java, Postgres и Gradle :) – laktak

+0

Опубликовать DDL, используемый для создания POJO –

+0

DDL? Вы имеете в виду SQL для создания БД? Я тестирую pagila из http: // pgfoundry.орг/проекты/dbsamples / – laktak

ответ

2

Для Postgres вы также должны указать входную схему, так что:

generator() { 
    database() { 
    name { mkp.yield('org.jooq.util.postgres.PostgresDatabase') } 
    inputSchema("public") 
    } 
[..] 
Смежные вопросы