Я инициализирую базу через 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.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
VKUsersArray назвал VKFЗнаю, что можно получить значение через VKF
Делаю бота для Telegram на JavaПри разработке столкнулся с тем, что система хранит где-то объект и отправляет его параметры несмотря на то, что объект...
Вводится из консоли дата (тип String)При посимвольном сравнении, на второй вводимой дате вылетает ошибка java