26 Ağustos 2021 Perşembe

SpringData Flyway Sınıfı

Giriş
Şu satırı dahil ederizz
import org.flywaydb.core.Flyway;
Eğer bu sınıfı bir bean olarak kullanacaksak şöyle yaparız. Flyway her zaman JPA 1EntityManagerFactory sınıfından önce çalışmalıdır
@Bean
@DependsOn("flyway")
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
    ...
}
callbacks metodu
Örnek
Şöyle yaparız
Flyway flyway = Flyway.configure()
  .dataSource(dataSource)
  .locations("db/migration", "db/callbacks")
  .callbacks(new ExampleFlywayCallback())
  .load();
flyway.migrate();
locations metodu
Örnek
Şöyle yaparız. Burada scriptler "src/main/resources/flyway/scripts/postgresql/migration" gibi bir dizindedir
@Bean
public Flyway flyway() {
    Flyway flyway = Flyway.configure()
        .dataSource(dataSource())
        .baselineOnMigrate(true)
        .locations(
            String.format(
                "classpath:/flyway/scripts/postgresql/migration",
                databaseType.name().toLowerCase()
            )
    ).load();
    flyway.migrate();
    return flyway;
}
migrate metodu
Örnek
Şöyle yaparız
public class TestClass {
  @Autowired Flyway flyway;
  @BeforeEach
  public void beforeEach() {
    flyway.clean();
    flyway.migrate();
  }
  @Test
  public void example1() {
    // test example
  }
}

Hiç yorum yok:

Yorum Gönder