Class FlywayPreparer

java.lang.Object
de.softwareforge.testing.postgres.embedded.FlywayPreparer
All Implemented Interfaces:
EmbeddedPostgresPreparer<DataSource>

public final class FlywayPreparer extends Object implements EmbeddedPostgresPreparer<DataSource>
An EmbeddedPostgresPreparer<DataSource> that uses the Flyway version control for your database framework to migrate a data source to a known state.
  • Constructor Details

  • Method Details

    • forClasspathLocation

      @Nonnull public static FlywayPreparer forClasspathLocation(String... locations)
      Creates a new instance using one or more classpath locations.
      Parameters:
      locations - One or more locations on the classpath.
      Returns:
      A FlywayPreparer instance.
    • addCustomizer

      @Nonnull public FlywayPreparer addCustomizer(@Nonnull Consumer<org.flywaydb.core.api.configuration.FluentConfiguration> customizer)
      Add a customizer instance. Each customizer is called once with the FluentConfiguration instance before setting the datasource and calling FluentConfiguration.load() and Flyway.migrate().
      Parameters:
      customizer - A Consumer<org.flywaydb.core.api.configuration.FluentConfiguration> instance. Must not be null.
      Returns:
      This object.
      Since:
      3.0
    • addCustomizers

      @Nonnull public FlywayPreparer addCustomizers(@Nonnull Set<Consumer<org.flywaydb.core.api.configuration.FluentConfiguration>> customizers)
      Add customizer instances. Each customizer is called once with the FluentConfiguration instance before setting the datasource and calling FluentConfiguration.load() and Flyway.migrate().
      Parameters:
      customizers - A set of Consumer<org.flywaydb.core.api.configuration.FluentConfiguration> instances. Must not be null.
      Returns:
      This object.
      Since:
      3.0
    • prepare

      public void prepare(@Nonnull DataSource dataSource) throws IOException
      Description copied from interface: EmbeddedPostgresPreparer
      Callback to customize a given object instance.
      Specified by:
      prepare in interface EmbeddedPostgresPreparer<DataSource>
      Parameters:
      dataSource - The instance. Must never be null. Any method on the builder can be called.
      Throws:
      IOException - For any IO related problem.