Я инициализирую базу через flyway, после чего, если приложение запущено локально, мне нужно накатить скрипты с тестовыми данными. Flyway отрабатывает нормально, но с тестовыми скриптами некоторые сложности - они не работают. Проперти инициализации выглядят так:
# data source properties
# ��������� �� - ��. DatasourceConfig
database.port=5482
#spring.datasource.url=jdbc:postgresql://127.0.0.1:${database.port}}/
#spring.datasource.username=postgres
#spring.datasource.password=
spring.datasource.initialize=true
spring.datasource.character=utf-8
spring.datasource.embedded-directory = target
#spring.datasource.schema=classpath:db/migration/common/V001__schema.sql
spring.datasource.data=classpath:db/migration/dev/init.sql
# JPA properties
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQL9Dialect
spring.jpa.show-sql=true
spring.jpa.generate-ddl=false
spring.jpa.hibernate.ddl-auto=none
spring.jpa.open-in-view=false
spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults=false
# migration properties
spring.flyway.enabled=true
spring.flyway.check-location=false
spring.flyway.baseline-on-migrate=true
spring.flyway.baseline-version=0
spring.flyway.locations=classpath:db/migration/common
По логике инициализации, должны выполниться скрипты, доступные по переменной
spring.datasource.data=classpath:db/migration/dev/init.sql
Но база пустая. Подскажите, что не так?
Для накатывания демо данных я использую тот же Flyway и отдельный Spring профиль (например, dev): в одной папке лежат общие скрипты (для разработки и для прода), в другой - скрипты с демо данными. Примерно так:
/db
/migration
/common
V1.1__schema.sql
V2.0__some_migration.sql
/dev
V1.2__demo_data.sql
Файлы настроек, общий и dev:
application.yml:
spring:
flyway:
enabled: true
locations: classpath:db/migration/common
application-dev.yml:
spring:
flyway:
enabled: true
locations: classpath:db/migration/common,classpath:db/migration/dev
Тут хитрый момент с версионированием файлов миграции - если указать подверсию (через точку или подчеркивание), то Flyway будет накатывать скрипты в нужном порядке независимо от каталогов, в которых они хранятся: 1.1, 1.2, 2.0 и т.д
Подробнее:
P.S. Насчет свойства spring.datasource.data
могу предположить, что Бут его не использует, если активирован Flyway.
Виртуальный выделенный сервер (VDS) становится отличным выбором
VKUsersArray назвал VKFЗнаю, что можно получить значение через VKF
Делаю бота для Telegram на JavaПри разработке столкнулся с тем, что система хранит где-то объект и отправляет его параметры несмотря на то, что объект...
Вводится из консоли дата (тип String)При посимвольном сравнении, на второй вводимой дате вылетает ошибка java