关键词:
【中文标题】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... 查看详情