如何使用 h2 数据库和 yaml 属性将 flyway 引入 spring-boot 项目?

how to introduce flyway into spring-boot project using h2 database and yaml properties?

我正在尝试使用 h2 和 yaml 属性将 flyway 库集成到 spring-boot 项目中。不幸的是,在启动应用程序时,我没有收到任何有关 Flyway 已启动的日志,而且我也看不到 h2 控制台下的 table。 (我看到另一个由 hibernate 创建的 tables)

这是我的代码:

pom.xml

<plugin>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-maven-plugin</artifactId>
    <version>6.5.0</version>
</plugin>

application.yml

spring:
    h2:
        console:
            enabled: true
            path: /h2-console
    datasource:
        url: jdbc:h2:file:~/testdb
        username: sa
        password:
        driverClassName: org.h2.Driver
    jpa:
        hibernate.ddl-auto: none
        show-sql: true
    flyway:
        enabled: true
        locations: filesystem:/db/migration

V1_0__init.sql 在 src/main/resources/db/migration

CREATE TABLE TEST_USERS (ID INT AUTO_INCREMENT PRIMARY KEY, USERID VARCHAR(45));
INSERT INTO USERS (ID, USERID) VALUES (1, 'TEST.com');

知道哪里出了问题吗?

  1. 要在启动时自动 运行 Flyway 数据库迁移,您应该在 pom.xml:
  2. 中添加 flyway 依赖项
    <dependency>
      <groupId>org.flywaydb</groupId>
      <artifactId>flyway-core</artifactId>
    </dependency>
  1. 在 application.yml 中添加您的数据库迁移:
  flyway:
    locations: classpath:/db/migration

然后你应该在启动时看到 flyway 日志。

更多信息: 10.6.1. Execute Flyway Database Migrations on Startup