Как загрузить исходные данные в H2 при использовании flyway в приложении весенней загрузки? - PullRequest
0 голосов
/ 15 февраля 2020

Я создаю весеннее загрузочное приложение, использующее Flyway для миграции, и хочу использовать базу данных памяти для профиля разработки, но проблема в том, что данные теряются при каждом перезапуске приложения. Поэтому мне нужно вставить некоторые данные при запуске приложения в профиле разработки. Я попытался поместить файл с именем data.sql в src / main / resource, чтобы он был загружен при запуске приложения, но он не работает (он не запускал скрипт). Я попытался поместить INIT=runscript from 'classpath:data.sql' в URL h2, но он пытается запустить его до выполнения миграции Flyway, чтобы таблицы еще не существовали. Кто-нибудь может дать мне другой способ сделать это?

My 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

1 Ответ

1 голос
/ 15 февраля 2020

За документация , настраиваемый профиль c настраиваемый пролет spring.flyway.locations может быть настроен. Специфичные для профиля c сценарии запускаются, когда этот профиль активен. Таким образом, настроенный профиль разработчика будет работать по этому требованию.

Сценарий инициализации можно разместить как часть папки миграции, которая запустит и заполнит базу данных.

Пример можно найти здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...