如何从 JOOQ 代码生成中排除标识列?

问题描述 投票:0回答:1

我有一个如下所示的身份栏

alter table google_co2_emission_data
    add column co2_data_id bigint generated always as identity primary key;

我想从 jooq 代码生成中排除

co2_data_id
。通过生成器配置如下所示

<generator>
    <database>
      <name>org.jooq.meta.postgres.PostgresDatabase</name>
      <includes>.*</includes>
      <excludes>.*\.gossiper_update_v2 | .*\.kv_store | .*\.single_run_trigger | .*\.lease
        | .*\.gossiper_update_v2_checkpoint | .*\.google_co2_emission_data.co2_data_id
      </excludes>
      <inputSchema>public</inputSchema>
    </database>
</generator>

我仍然看到正在为

google_co2_emission_data.co2_data_id
生成代码。是否可以从 JOOQ 代码生成中排除身份主列?

  • JOOQ 版本 - 3.17.16
  • Postgres - 14.4
jooq jooq-codegen-maven jooq-codegen
1个回答
0
投票

默认情况下,

<includes>
<excludes>
元素不匹配列,仅匹配架构对象。为了使其也匹配列,请使用额外的
<includeExcludeColumns/>
标志。 另请参阅文档

<generator>
    <database>
      <name>org.jooq.meta.postgres.PostgresDatabase</name>
      <includes>.*</includes>
      <excludes>
          .*\.gossiper_update_v2
        | .*\.kv_store
        | .*\.single_run_trigger
        | .*\.lease
        | .*\.gossiper_update_v2_checkpoint 
        | .*\.google_co2_emission_data.co2_data_id
      </excludes>
      <includeExcludeColumns>true</includeExcludeColumns>
      <inputSchema>public</inputSchema>
    </database>
</generator>
© www.soinside.com 2019 - 2024. All rights reserved.