Spring initializer项目的Flyway

本文解决了Flyway在项目启动时不启动的问题,并详细记录了解决Flyway不支持MySQL 8.0及以上版本的过程。通过调整配置文件和引入特定依赖,成功实现了Flyway与MySQL的兼容。
部署运行你感兴趣的模型镜像

今天跟flyway纠缠了一天

       

报错1:Run项目时就是不启动flyway

        

                     我看了这个文章   First Steps - Maven - Flyway - Product Documentation

                      然后运行:mvn flyway:migrate

                   报错:Spring-boot Maven flyway Unable to connect to the database. Configure                               the url, user and passwordSpring-boot Maven flyway 无法连接数据库。配

                                   置url、用户和密码

        分析

配置了1)pow.xml,一度想在<build></build>中加flyway,发现大家都没加,坚持不加,也坚持不在里面加账号密码

             application.properties中有spring.profiles.active=dev

            application-dev.properties中有spring.config.import=optional:file:.env[.properties]

           在.env中写了端口号账号密码

         2)坚持不把properities换成yaml,这个不可能是原因

         3)properties使用了

## spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
## spring.datasource.url=jdbc:mysql://${MYSQL_HOST}:3306/${DATABASE_NAME}?characterEncoding=UTF8&userSSL=false
## spring.datasource.username=${MYSQL_USER_NAME}
## spring.datasource.password=${MYSQL_PASSWORD}

后来改成以下终于在项目启动时候运行flyway了,并且注意user不是username

    

spring.flyway.url=jdbc:mysql://${MYSQL_HOST}:3306/${DATABASE_NAME}?characterEncoding=UTF8&userSSL=false
spring.flyway.user=${MYSQL_USER_NAME}
spring.flyway.password=${MYSQL_PASSWORD}

报错2:flyway Unsupported Database: MySQL 8.0

参见以下cgs1999高手文章,重点是

   flyway-core 8.2.1及以后的版本确实是不再支持MySQL

解决方案

   <dependency> <groupId>org.flywaydb</groupId> <artifactId>flyway-mysql</artifactId> </dependency>

【原创】Flyway 8.2.1及以后版本不再支持MySQL?!_cgs1999的博客-优快云客

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

### 使用 Spring Initializr 创建 Spring Boot 项目 当使用 Spring Initializr 创建新的 Spring Boot 项目时,可以通过多种方式访问该工具。最常用的方法之一是通过浏览器直接访问 [Spring Initializr 官方网站](https://start.spring.io/) 或者集成到开发环境中,比如 IntelliJ IDEA。 #### 访问 Spring Initializr 并配置项目设置 进入 Spring Initializr 页面后,可以看到一系列用于定义新项目的选项: - **Project:** 可选 Maven 或 Gradle 构建工具,默认为 Maven。 - **Language:** 支持 Java、Kotlin 和 Groovy 等编程语言,默认选择 Java。 - **Spring Boot:** 版本号可以选择不同的稳定版或预览版[^1]。 - **Group:** 组织 ID (通常是反向域名),例如 `com.example`。 - **Artifact:** 工程名称,即模块名,在构建文件中作为 artifactId 出现。 - **Name:** 应用程序的名字,通常会自动生成但也可以手动修改。 - **Description:** 对应用程序的简单描述。 - **Package name:** 主包路径,一般基于 Group 和 Artifact 自动生成。 - **Packaging:** 打包形式可选 jar 或 war 文件格式。 - **Java Version:** 这里需要注意的是默认可能不提供 JDK 1.8 的选项,如果确实需要指定较低版本,则可以在后续步骤调整 pom.xml 中的相关属性来实现兼容性处理。 对于遇到无法选择特定 Java 版本的情况,如只显示较高版本而不含 JDK 1.8 的情形,这主要是因为较新的 Spring Boot 默认支持更新的语言特性所致。不过仍然能够通过编辑生成后的 POM 文件中的 `<properties>` 部分来自定义所需的编译级别: ```xml <properties> <java.version>1.8</java.version> </properties> ``` 完成上述所有参数的选择之后点击 “Generate” 按钮下载 ZIP 压缩包并解压至本地磁盘位置;或者是在 IDE 内部操作的话则可以直接导入新建工程而无需额外导出压缩包。 #### 添加必要的依赖项 为了使应用具备完整的 web 功能,应该加入如下所示的 spring-boot-starter-web 依赖声明[^2]: ```xml <!-- Web依赖 Spring MVC --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 注意这里不需要显式指明 version 属性,除非有特殊需求 --> </dependency> ``` 这样就完成了基本框架搭建工作,接下来就可以按照实际业务逻辑继续扩展功能了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i7i8i9com

大家共赴星际梦想

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值