ÜbersichtFlyway Ausgabe in Tabellen löschen, wenn die Anwendung beendet wird
Ich werde flyway db Migration zu einem vorhandenen Projekt mit den folgenden Konfigurationen hinzuzufügen:
- Projekttyp: Frühlings-Boot-
- DB: MariaDB
applikations local.yaml (Flyway und Datenquelle configs):
...
flyway:
enabled: true
locations: classpath:db.migration
baselineOnMigrate: true
spring:
jackson:
serialization:
indent_output: true
devtools:
restart:
enabled: false
livereload:
enabled: false
datasource:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:mariadb://localhost:3306/migration
username: root
password: testing1
hikari:
data-source-properties:
leakDetectionThreshold: 2000
cachePrepStmts: true
prepStmtCacheSize: 250
prepStmtCacheSqlLimit: 2048
useServerPrepStmts: true
jpa:
database-platform: org.hibernate.dialect.MySQL5Dialect
database: MYSQL
show-sql: false
hibernate.id.new_generator_mappings: true
properties:
hibernate.cache.use_second_level_cache: false
hibernate.cache.use_query_cache: false
hibernate.generate_statistics: false
hibernate.hbm2ddl.import_files: schema-mysql.sql
hibernate.hbm2ddl.import_files_sql_extractor: org.hibernate.tool.hbm2ddl.MultipleLinesSqlCommandExtractor
open-in-view: false
hibernate:
ddl-auto: create-drop
naming:
physical-strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
implicit-strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
...
Ausgabe:
Wenn die Anwendung beendet wird, db-Tabellen werden nicht gelöscht. Aber wie ich ddl-auto: create-drop
verwendet habe, wird erwartet, dass Tabellen fallen gelassen werden.
Hinweis:Ich weiß, es scheint ein bisschen seltsam Flyway für flüchtige DB zu verwenden. Es gibt einige Konfigurationsklassen, um Anfangsdaten beim Start einzufügen. Wenn die Datenbank nicht gelöscht wird, während die Anwendung gestoppt wird, kommt es beim nächsten Start zu Beanstandungen [z. B. eindeutige Beschränkungsverletzungen], da die Anfangswerte bereits eingefügt wurden.
Ich wäre dankbar, wenn mir jemand mit ihrer echten Lösung helfen könnte.