在Spring Boot应用程序上使用Flyway时如何在H2中加载初始数据?

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

我正在使用Flyway进行迁移以创建Spring Boot应用程序,并希望将内存数据库用于开发配置文件,但是问题是,每次重新启动应用程序时,数据都会丢失。因此,当我的应用程序在开发配置文件中启动时,我需要插入一些数据。我试图在应用程序启动时在src / main / resource上放置一个名为data.sql的文件以弹簧加载该文件,但它不起作用(它没有运行脚本)。我试图将INIT=runscript from 'classpath:data.sql'放在h2网址中,但它试图在Flyway迁移执行之前运行它,因此该表尚不存在。谁能给我另一种方法吗?

我的application.yml:

spring:
  datasource:
    url: jdbc:h2:mem:testdb;IFEXISTS=FALSE
    username: sa
    password:
    driver-class-name: org.h2.Driver
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: none
    properties:
      hibernate:
        dialect: org.hibernate.dialect.H2Dialect
  flyway:
    enabled: true
java spring-boot jpa h2 flyway
1个回答
0
投票

documentation,可以配置特定于轮廓的自定义飞行路线spring.flyway.locations。特定于配置文件的脚本在该配置文件处于活动状态时运行。因此,配置的开发人员配置文件可以满足此要求。

初始化脚本可以作为迁移文件夹的一部分放置,该文件夹将运行并填充数据库。

可以找到一个例子here

© www.soinside.com 2019 - 2024. All rights reserved.