DevDataConfig.java
package de.mirkosertic.powerstaff.config;
import org.flywaydb.core.api.Location;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.flyway.autoconfigure.FlywayConfigurationCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Arrays;
/**
* Aktiviert das Dev-Testdaten-Skript (db/devdata/V200__dev_testdata.sql) in Flyway,
* wenn die JVM-System-Property {@code devmode=true} gesetzt ist.
*
* <p>Starten mit: {@code java -Ddevmode=true -jar powerstaff.jar}
* oder im IDE-Run-Config als VM-Option: {@code -Ddevmode=true}
*/
@Configuration
@ConditionalOnProperty(name = "devmode", havingValue = "true")
class DevDataConfig {
@Bean
FlywayConfigurationCustomizer devDataFlywayCustomizer() {
return configuration -> {
final Location[] existing = configuration.getLocations();
final Location[] extended = Arrays.copyOf(existing, existing.length + 1);
extended[existing.length] = new Location("classpath:db/devdata");
configuration.locations(extended);
};
}
}