Spring boot Flyway Jooq Code gen maven 插件顺序

     2023-02-26     117

关键词:

【中文标题】Spring boot Flyway Jooq Code gen maven 插件顺序【英文标题】:Spring boot Flyway Jooq Code gen maven plugin order 【发布时间】:2020-08-01 12:20:37 【问题描述】:

如何强制 flyway:migrate 始终在 jooq:generate-sources 之前执行? 我正在使用带有 Spring Boot 的 Maven 包装器。

<plugin>
            <groupId>org.flywaydb</groupId>
            <artifactId>flyway-maven-plugin</artifactId>
            <version>6.3.3</version>
        </plugin>
        <plugin>
            <groupId>org.jooq</groupId>
            <artifactId>jooq-codegen-maven</artifactId>
            <version>3.13.1</version>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <generator>
                    <database>
                        <name>org.jooq.meta.postgres.PostgresDatabase</name>
                        <inputSchema>public</inputSchema>
                    </database>
                    <target>
                        <packageName>bg.kotz.db</packageName>
                        <directory>src/main/java</directory>
                    </target>
                </generator>
            </configuration>
        </plugin>

【问题讨论】:

【参考方案1】:

当您在src/main/java 中生成代码时,Maven 中的一切都开始崩溃。最好保持默认生成到target/...,或者,如果您想签入生成的源,请为 Flyway 迁移和 jOOQ 代码生成创建单独的 Maven 项目

【讨论】:

【参考方案2】:

您还必须将executions 块添加到flyway-maven-plugin 部分,以使flyway 在generate-sources 步骤下执行迁移:

<plugin>
  <groupId>org.flywaydb</groupId>
  <artifactId>flyway-maven-plugin</artifactId>
  <version>6.3.3</version>
  <executions>
     <execution>
        <phase>generate-sources</phase>
        <goals>
            <goal>migrate</goal>
        </goals>
     </execution>
  </executions>
</plugin>
<plugin>
  <groupId>org.jooq</groupId>
  <artifactId>jooq-codegen-maven</artifactId>
  <version>3.13.1</version>
  <executions>
     <execution>
        <phase>generate-sources</phase>
        <goals>
            <goal>generate</goal>
        </goals>
     </execution>
  </executions>
  <configuration>
    <generator>
       <database>
          <name>org.jooq.meta.postgres.PostgresDatabase</name>
          <inputSchema>public</inputSchema>
        </database>
        <target>
          <packageName>bg.kotz.db</packageName>
          <directory>src/main/java</directory>
        </target>
      </generator>
    </configuration>
  </plugin>
</plugins>

【讨论】:

它工作了,有点。当我输入spring-boot:运行它时:1.迁移架构2.使用jooq生成的类,3.编译并启动,但在第3步它尝试再次迁移并失败并出现以下错误:“消息:错误:关系”foo “已经存在”不知道为什么,flyway_schema_history 存在并且有记录。 您在应用中使用什么版本的 flyway?

如何一起使用spring启动,jooq和flyway?

因此,让我们考虑一个通用的Springboot应用程序,它使用JOOQ进行数据库数据库访问,使用Flyway进行数据库迁移。该项目使用gradle进行依赖管理。我想要以下事项:在docker中运行我的应用程序。所以,我只想在环境变量(https://12fac... 查看详情

Spring-Boot 不适用于 Flyway

】Spring-Boot不适用于Flyway【英文标题】:Spring-BootisnotworkingwithFlyway【发布时间】:2015-04-1304:27:09【问题描述】:我正在为基于Spring的Web应用程序使用Spring-Bootv1.1.10.RELEASE。我的数据库是Postgres,并使用Flyway进行数据库迁移。postgress... 查看详情

Flyway 和 Spring Boot 集成

】Flyway和SpringBoot集成【英文标题】:FlywayandSpringBootintegration【发布时间】:2015-05-2905:29:12【问题描述】:我尝试在SpringBoot项目中使用Hibernate和SpringJPA集成Flyway以进行迁移。我收到以下异常:org.springframework.beans.factory.BeanCreationExc... 查看详情

带有 testcontainers 和 jOOQ 的 Spring Boot 不会注入 DSL 上下文

】带有testcontainers和jOOQ的SpringBoot不会注入DSL上下文【英文标题】:SpringbootwithtestcontainersandjOOQdoesn\'tinjectDSLcontext【发布时间】:2020-10-1703:03:54【问题描述】:我对springboot+jOOQ和testcontainers有一些问题。DSL上下文不会注入到我的测... 查看详情

使用 Spring Boot 进行 Flyway 修复

】使用SpringBoot进行Flyway修复【英文标题】:FlywayrepairwithSpringBoot【发布时间】:2016-09-2413:23:33【问题描述】:我不太明白当在SpringBoot项目中使用Flyway迁移失败时我应该做什么。我只需在pom.xml中添加Flyway依赖项即可激活Flyway。一... 查看详情

jooQ spring boot Multiple Schema(读写拆分)

】jooQspringbootMultipleSchema(读写拆分)【英文标题】:jooQspringbootMultipleSchema(ReadWriteSplit)【发布时间】:2017-09-0112:03:32【问题描述】:我想将jooQ与springboot一起使用。我有主从架构,所以我想将jooQ与主从架构一起使用(主用于写入... 查看详情

无法在 Spring Boot 中将 Flyway 迁移与 postgresQL 连接起来

】无法在SpringBoot中将Flyway迁移与postgresQL连接起来【英文标题】:NotableconnectflywaymigrationwithpostgresSQLinspringboot【发布时间】:2020-03-1416:05:30【问题描述】:我正在使用PostgreSQL为spring-boot项目设置flyway迁移,但无法连接数据库并出... 查看详情

如何使用 Spring-Boot config 配置 JOOQ 设置?

】如何使用Spring-Bootconfig配置JOOQ设置?【英文标题】:HowtoconfigureJOOQsettingsusingSpring-Bootconfig?【发布时间】:2019-12-2320:05:30【问题描述】:我想告诉JOOQ不要引用它根据此处的答案生成的SQL中的标识符:https://***.com/a/28146263/924597但... 查看详情

使用 Spring Boot 进行 JOOQ SQL 语法转换

】使用SpringBoot进行JOOQSQL语法转换【英文标题】:JOOQSQLSyntaxconversionwithSpringBoot【发布时间】:2021-01-0401:30:40【问题描述】:我有一个SQLCE语法的SQL脚本导出。当我的应用程序启动时,jooq应该读取此脚本,将其解析为与h2兼容的sql... 查看详情

使用 Spring Boot 属性文件设置 Flyway 'baselineOnMigrate' 和 'baselineVersion'

】使用SpringBoot属性文件设置Flyway\\\'baselineOnMigrate\\\'和\\\'baselineVersion\\\'【英文标题】:SettingFlyway\'baselineOnMigrate\'and\'baselineVersion\'usingspringbootpropertyfile使用SpringBoot属性文件设置Flyway\'baselineOnMigrate\'和\'baseline 查看详情

使用 Flyway 和 Spring Boot 迁移基线

】使用Flyway和SpringBoot迁移基线【英文标题】:baseline-on-migratewithFlywayandSpringBoot【发布时间】:2019-08-0709:02:22【问题描述】:我之前看过这个帖子,但我已经实施了所提供的解决方案,所以我再次询问我的具体情况的更多细节。... 查看详情

将 Flyway 设置为在 Spring Boot 中使用不同的环境

】将Flyway设置为在SpringBoot中使用不同的环境【英文标题】:SetFlywaytoworkwithdifferentenvironmentsinSpringBoot【发布时间】:2021-10-2420:00:12【问题描述】:我有一个SpringBoot应用程序,我需要将Flyway集成到其中。我希望Flyway迁移在应用程序... 查看详情

使用 Spring Boot 记录 Flyway sql

】使用SpringBoot记录Flywaysql【英文标题】:LoggingFlywaysqlwithSpringBoot【发布时间】:2016-07-0300:53:39【问题描述】:有没有办法在控制台中显示Flyway迁移步骤,同时启动SpringBoot应用程序?迁移工作正常。我只是没有看到任何关于它的... 查看详情

Spring Boot:Hibernate 和 Flyway 启动顺序

】SpringBoot:Hibernate和Flyway启动顺序【英文标题】:SpringBoot:HibernateandFlywaybootorder【发布时间】:2016-09-0300:46:15【问题描述】:我已经创建了Spring应用程序。附上Pomxml。它有这样的配置(如下)和一些用于Flywaydb迁移工具的db/migrati... 查看详情

Flyway 在 Spring Boot 上不工作时如何调试?

】Flyway在SpringBoot上不工作时如何调试?【英文标题】:HowtodebugwhenFlywaydoesn\'tworkonSpringBoot?【发布时间】:2017-09-1517:29:48【问题描述】:我正在使用Maven和SpringBoot。我使用mvnspring-boot:run运行应用程序。https://flywaydb.org/documentation/plu... 查看详情

Flyway 通配符在 Spring Boot 中不起作用

】Flyway通配符在SpringBoot中不起作用【英文标题】:FlywaywildcardisnotworkinginSpringBoot【发布时间】:2021-12-0613:48:57【问题描述】:我收到以下错误:Flywayfailedtoinitialize:noneofthefollowingmigrationscriptslocationscouldbefound:-classpath:db/*/migrations/这 查看详情

如何使用 JOOQ 和 Spring-boot 2.0 进行手动事务管理?

】如何使用JOOQ和Spring-boot2.0进行手动事务管理?【英文标题】:HowtodomanualtransactionmanagementwithJOOQandSpring-boot2.0?【发布时间】:2019-01-1721:07:08【问题描述】:使用SpringBoot2.0.4和JOOQ3.11.3。我有一个服务器端点,需要对事务管理进行... 查看详情

Spring Boot with JOOQ 和 Spring Data JPA 之间的技术差异

】SpringBootwithJOOQ和SpringDataJPA之间的技术差异【英文标题】:TechnicaldifferencebetweenSpringBootwithJOOQandSpringDataJPA【发布时间】:2020-09-1505:01:57【问题描述】:您何时将SpringDataJPA而非SpringBoot与JOOQ一起使用,反之亦然?我知道SpringDataJPA... 查看详情