Class FlywayConfig

java.lang.Object
io.github.suppierk.codegen.config.FlywayConfig

public class FlywayConfig extends Object
Captures Flyway settings normally provided via the Flyway Gradle plugin. The structure mirrors org.flywaydb.core.api.configuration.FluentConfiguration so that we can apply the same properties programmatically inside AbstractDatabaseTask.
  • Constructor Details

    • FlywayConfig

      public FlywayConfig()
      Creates default Flyway configuration values.
  • Method Details

    • getDriver

      @Nullable public String getDriver()
      Returns the explicitly configured JDBC driver class name. When unset, the driver is inherited from the database DSL or jOOQ configuration.
      Returns:
      driver class name or null if it should be inherited from jOOQ
    • setDriver

      public void setDriver(@Nullable String driver)
      Sets the JDBC driver class name to use when selecting a database container.
      Parameters:
      driver - fully qualified driver class name, or null to fall back to jOOQ config
    • getConnectRetries

      @Nullable public Integer getConnectRetries()
      Returns configured connection retry count. When null, Flyway falls back to its default retry strategy.
      Returns:
      retries or null
    • setConnectRetries

      public void setConnectRetries(@Nullable Integer connectRetries)
      Sets the number of times Flyway should retry connecting to the database.
      Parameters:
      connectRetries - retry count
    • getConnectRetriesInterval

      @Nullable public Integer getConnectRetriesInterval()
      Returns configured retry interval.
      Returns:
      interval in seconds or null
    • setConnectRetriesInterval

      public void setConnectRetriesInterval(@Nullable Integer connectRetriesInterval)
      Sets the wait time between connection retries in seconds.
      Parameters:
      connectRetriesInterval - interval in seconds
    • getInitSql

      @Nullable public String getInitSql()
      Returns configured init SQL.
      Returns:
      SQL or null
    • setInitSql

      public void setInitSql(@Nullable String initSql)
      Sets SQL executed immediately after obtaining a connection.
      Parameters:
      initSql - SQL statement
    • getTable

      @Nullable public String getTable()
      Returns Flyway metadata table name.
      Returns:
      metadata table or null
    • setTable

      public void setTable(@Nullable String table)
      Sets Flyway metadata table name.
      Parameters:
      table - metadata table
    • getTablespace

      @Nullable public String getTablespace()
      Returns Flyway metadata tablespace.
      Returns:
      tablespace or null
    • setTablespace

      public void setTablespace(@Nullable String tablespace)
      Sets Flyway metadata tablespace.
      Parameters:
      tablespace - metadata tablespace
    • getDefaultSchema

      @Nullable public String getDefaultSchema()
      Returns the configured default schema.
      Returns:
      schema name or null if no override was provided
    • setDefaultSchema

      public void setDefaultSchema(@Nullable String defaultSchema)
      Sets the schema Flyway should treat as default for migrations.
      Parameters:
      defaultSchema - schema name or null to fall back to jOOQ/default value
    • schemas

      public void schemas(String... schemas)
      Convenient schema setter mirroring Gradle DSL.
      Parameters:
      schemas - schema names
    • getSchemas

      @Nonnull public List<String> getSchemas()
      Returns configured schema list.
      Returns:
      schema list
    • setSchemas

      public void setSchemas(@Nonnull List<String> schemas)
      Replaces the list of schemas managed by Flyway.
      Parameters:
      schemas - schema names
    • locations

      public void locations(String... locations)
      Convenient var-args setter mirroring the Gradle DSL behaviour.
      Parameters:
      locations - locations to apply
    • getLocations

      @Nonnull public List<String> getLocations()
      Returns the configured Flyway migration locations. When users omit locations, the method returns Flyway's conventional default classpath:db/migration.
      Returns:
      configured locations list (never empty)
    • setLocations

      public void setLocations(@Nonnull List<String> locations)
      Replaces Flyway locations used to discover migrations.
      Parameters:
      locations - list of locations (e.g. classpath:db/migration)
    • setLocations

      public void setLocations(@Nonnull String location)
      Convenience setter accepting a single location value.
      Parameters:
      location - migration location
    • callbackLocations

      public void callbackLocations(String... locations)
      Sets callback locations using var-args.
      Parameters:
      locations - callback locations
    • getCallbackLocations

      @Nonnull public List<String> getCallbackLocations()
      Returns configured callback locations.
      Returns:
      callback locations list
    • setCallbackLocations

      public void setCallbackLocations(@Nonnull List<String> locations)
      Replaces Flyway callback locations.
      Parameters:
      locations - callback discovery locations
    • setCallbackLocations

      public void setCallbackLocations(@Nonnull String location)
      Convenience setter accepting a single callback location value.
      Parameters:
      location - callback location
    • getBaselineVersion

      @Nullable public String getBaselineVersion()
      Returns configured baseline version.
      Returns:
      baseline version or null
    • setBaselineVersion

      public void setBaselineVersion(@Nullable String baselineVersion)
      Sets baseline version used when baselining an existing schema.
      Parameters:
      baselineVersion - version string
    • getBaselineDescription

      @Nullable public String getBaselineDescription()
      Returns baseline description.
      Returns:
      description or null
    • setBaselineDescription

      public void setBaselineDescription(@Nullable String baselineDescription)
      Sets baseline description.
      Parameters:
      baselineDescription - description text
    • resolvers

      public void resolvers(String... resolvers)
      Sets resolvers using var-args.
      Parameters:
      resolvers - resolver class names
    • getResolvers

      @Nonnull public List<String> getResolvers()
      Returns configured resolver class names.
      Returns:
      resolvers list
    • setResolvers

      public void setResolvers(@Nonnull List<String> resolvers)
      Replaces migration resolver class names.
      Parameters:
      resolvers - class names
    • getSkipDefaultResolvers

      @Nullable public Boolean getSkipDefaultResolvers()
      Returns resolver behaviour override.
      Returns:
      Boolean flag or null
    • setSkipDefaultResolvers

      public void setSkipDefaultResolvers(@Nullable Boolean skipDefaultResolvers)
      Enables or disables default Flyway resolvers.
      Parameters:
      skipDefaultResolvers - whether defaults should be skipped
    • getSqlMigrationPrefix

      @Nullable public String getSqlMigrationPrefix()
      Returns SQL migration prefix.
      Returns:
      prefix or null
    • setSqlMigrationPrefix

      public void setSqlMigrationPrefix(@Nullable String sqlMigrationPrefix)
      Sets SQL migration filename prefix.
      Parameters:
      sqlMigrationPrefix - prefix string
    • getUndoSqlMigrationPrefix

      @Nullable public String getUndoSqlMigrationPrefix()
      Returns undo migration prefix.
      Returns:
      prefix or null
    • setUndoSqlMigrationPrefix

      public void setUndoSqlMigrationPrefix(@Nullable String undoSqlMigrationPrefix)
      Sets undo SQL migration filename prefix.
      Parameters:
      undoSqlMigrationPrefix - prefix string
    • getRepeatableSqlMigrationPrefix

      @Nullable public String getRepeatableSqlMigrationPrefix()
      Returns repeatable migration prefix.
      Returns:
      prefix or null
    • setRepeatableSqlMigrationPrefix

      public void setRepeatableSqlMigrationPrefix(@Nullable String repeatableSqlMigrationPrefix)
      Sets repeatable SQL migration filename prefix.
      Parameters:
      repeatableSqlMigrationPrefix - prefix string
    • getSqlMigrationSeparator

      @Nullable public String getSqlMigrationSeparator()
      Returns SQL migration separator.
      Returns:
      separator or null
    • setSqlMigrationSeparator

      public void setSqlMigrationSeparator(@Nullable String sqlMigrationSeparator)
      Sets SQL migration filename separator.
      Parameters:
      sqlMigrationSeparator - separator string
    • sqlMigrationSuffixes

      public void sqlMigrationSuffixes(String... suffixes)
      Sets SQL migration suffixes via var-args.
      Parameters:
      suffixes - suffix entries
    • getSqlMigrationSuffixes

      @Nonnull public List<String> getSqlMigrationSuffixes()
      Returns SQL migration suffixes.
      Returns:
      suffix list
    • setSqlMigrationSuffixes

      public void setSqlMigrationSuffixes(@Nonnull List<String> suffixes)
      Replaces SQL migration suffixes.
      Parameters:
      suffixes - suffix list
    • getEncoding

      @Nullable public String getEncoding()
      Returns source script encoding or null when Flyway should use its default.
      Returns:
      encoding or null
    • setEncoding

      public void setEncoding(@Nullable String encoding)
      Sets source script encoding (e.g. UTF-8).
      Parameters:
      encoding - encoding name
    • getDetectEncoding

      @Nullable public Boolean getDetectEncoding()
      Returns encoding detection toggle or null to defer to Flyway defaults.
      Returns:
      Boolean flag or null
    • setDetectEncoding

      public void setDetectEncoding(@Nullable Boolean detectEncoding)
      Enables encoding detection.
      Parameters:
      detectEncoding - toggle
    • getLockRetryCount

      @Nullable public Integer getLockRetryCount()
      Returns lock retry count or null when the default should be used.
      Returns:
      retry count or null
    • setLockRetryCount

      public void setLockRetryCount(@Nullable Integer lockRetryCount)
      Sets lock retry count.
      Parameters:
      lockRetryCount - retry count
    • placeholder

      public void placeholder(@Nonnull String name, @Nonnull String value)
      Adds a single Flyway placeholder entry.
      Parameters:
      name - placeholder name
      value - placeholder value
    • getPlaceholders

      @Nonnull public Map<String,String> getPlaceholders()
      Returns the configured Flyway placeholders.
      Returns:
      configured placeholders map
    • setPlaceholders

      public void setPlaceholders(@Nonnull Map<String,String> placeholders)
      Replaces Flyway placeholders map.
      Parameters:
      placeholders - placeholder values keyed by name
    • jdbcProperty

      public void jdbcProperty(@Nonnull String key, @Nonnull String value)
      Adds single JDBC property entry.
      Parameters:
      key - property name
      value - property value
    • getJdbcProperties

      @Nonnull public Map<String,String> getJdbcProperties()
      Returns JDBC properties map.
      Returns:
      property map
    • setJdbcProperties

      public void setJdbcProperties(@Nonnull Map<String,String> jdbcProperties)
      Replaces Flyway JDBC properties map.
      Parameters:
      jdbcProperties - JDBC properties
    • getPlaceholderReplacement

      @Nullable public Boolean getPlaceholderReplacement()
      Returns placeholder replacement flag.
      Returns:
      Boolean flag or null
    • setPlaceholderReplacement

      public void setPlaceholderReplacement(@Nullable Boolean placeholderReplacement)
      Enables or disables placeholder replacement.
      Parameters:
      placeholderReplacement - toggle
    • getPlaceholderPrefix

      @Nullable public String getPlaceholderPrefix()
      Returns placeholder prefix.
      Returns:
      prefix or null
    • setPlaceholderPrefix

      public void setPlaceholderPrefix(@Nullable String placeholderPrefix)
      Sets placeholder prefix.
      Parameters:
      placeholderPrefix - placeholder prefix
    • getPlaceholderSuffix

      @Nullable public String getPlaceholderSuffix()
      Returns placeholder suffix.
      Returns:
      suffix or null
    • setPlaceholderSuffix

      public void setPlaceholderSuffix(@Nullable String placeholderSuffix)
      Sets placeholder suffix.
      Parameters:
      placeholderSuffix - placeholder suffix
    • getPlaceholderSeparator

      @Nullable public String getPlaceholderSeparator()
      Returns placeholder separator.
      Returns:
      separator or null
    • setPlaceholderSeparator

      public void setPlaceholderSeparator(@Nullable String placeholderSeparator)
      Sets placeholder separator.
      Parameters:
      placeholderSeparator - separator value
    • getScriptPlaceholderPrefix

      @Nullable public String getScriptPlaceholderPrefix()
      Returns script placeholder prefix.
      Returns:
      prefix or null
    • setScriptPlaceholderPrefix

      public void setScriptPlaceholderPrefix(@Nullable String scriptPlaceholderPrefix)
      Sets script placeholder prefix.
      Parameters:
      scriptPlaceholderPrefix - prefix value
    • getScriptPlaceholderSuffix

      @Nullable public String getScriptPlaceholderSuffix()
      Returns script placeholder suffix.
      Returns:
      suffix or null
    • setScriptPlaceholderSuffix

      public void setScriptPlaceholderSuffix(@Nullable String scriptPlaceholderSuffix)
      Sets script placeholder suffix.
      Parameters:
      scriptPlaceholderSuffix - suffix value
    • getTarget

      @Nullable public String getTarget()
      Returns migration target version.
      Returns:
      target or null
    • setTarget

      public void setTarget(@Nullable String target)
      Sets the target version for migration.
      Parameters:
      target - migration version string
    • cherryPick

      public void cherryPick(String... cherryPick)
      Sets cherry-pick entries via var-args.
      Parameters:
      cherryPick - migration identifiers
    • getCherryPick

      @Nonnull public List<String> getCherryPick()
      Returns cherry-pick migration list.
      Returns:
      cherry-pick list
    • setCherryPick

      public void setCherryPick(@Nonnull List<String> cherryPick)
      Replaces cherry-pick migration list.
      Parameters:
      cherryPick - migration identifiers
    • loggers

      public void loggers(String... loggers)
      Sets loggers using var-args.
      Parameters:
      loggers - logger identifiers
    • getLoggers

      @Nonnull public List<String> getLoggers()
      Returns logger configuration.
      Returns:
      logger list
    • setLoggers

      public void setLoggers(@Nonnull List<String> loggers)
      Replaces logger configuration.
      Parameters:
      loggers - logger names
    • callbacks

      public void callbacks(String... callbacks)
      Sets callbacks using var-args.
      Parameters:
      callbacks - callback class names
    • getCallbacks

      @Nonnull public List<String> getCallbacks()
      Returns callback configuration.
      Returns:
      callbacks list
    • setCallbacks

      public void setCallbacks(@Nonnull List<String> callbacks)
      Replaces callback configuration.
      Parameters:
      callbacks - callback class names
    • getSkipDefaultCallbacks

      @Nullable public Boolean getSkipDefaultCallbacks()
      Returns default callback behaviour.
      Returns:
      Boolean flag or null
    • setSkipDefaultCallbacks

      public void setSkipDefaultCallbacks(@Nullable Boolean skipDefaultCallbacks)
      Enables or disables default callbacks.
      Parameters:
      skipDefaultCallbacks - toggle
    • getOutOfOrder

      @Nullable public Boolean getOutOfOrder()
      Returns out-of-order behaviour.
      Returns:
      Boolean flag or null
    • setOutOfOrder

      public void setOutOfOrder(@Nullable Boolean outOfOrder)
      Enables out-of-order migration execution.
      Parameters:
      outOfOrder - toggle
    • getSkipExecutingMigrations

      @Nullable public Boolean getSkipExecutingMigrations()
      Returns skip-executing behaviour.
      Returns:
      Boolean flag or null
    • setSkipExecutingMigrations

      public void setSkipExecutingMigrations(@Nullable Boolean skipExecutingMigrations)
      Enables skipping actual migration execution.
      Parameters:
      skipExecutingMigrations - toggle
    • getOutputQueryResults

      @Nullable public Boolean getOutputQueryResults()
      Returns query output toggle.
      Returns:
      query output toggle
    • setOutputQueryResults

      public void setOutputQueryResults(@Nullable Boolean outputQueryResults)
      Enables migration query output.
      Parameters:
      outputQueryResults - toggle
    • getValidateOnMigrate

      @Nullable public Boolean getValidateOnMigrate()
      Returns validation toggle.
      Returns:
      Boolean flag or null
    • setValidateOnMigrate

      public void setValidateOnMigrate(@Nullable Boolean validateOnMigrate)
      Enables migration validation on migrate.
      Parameters:
      validateOnMigrate - toggle
    • getCleanOnValidationError

      @Nullable public Boolean getCleanOnValidationError()
      Returns clean-on-validation toggle.
      Returns:
      Boolean flag or null
    • setCleanOnValidationError

      public void setCleanOnValidationError(@Nullable Boolean cleanOnValidationError)
      Enables cleaning when validation fails.
      Parameters:
      cleanOnValidationError - toggle
    • ignoreMigrationPatterns

      public void ignoreMigrationPatterns(String... ignoreMigrationPatterns)
      Sets ignore migration patterns via var-args.
      Parameters:
      ignoreMigrationPatterns - patterns to ignore
    • getIgnoreMigrationPatterns

      @Nonnull public List<String> getIgnoreMigrationPatterns()
      Returns ignore migration patterns.
      Returns:
      pattern list
    • setIgnoreMigrationPatterns

      public void setIgnoreMigrationPatterns(@Nonnull List<String> ignoreMigrationPatterns)
      Replaces ignore migration patterns.
      Parameters:
      ignoreMigrationPatterns - patterns to ignore
    • getValidateMigrationNaming

      @Nullable public Boolean getValidateMigrationNaming()
      Returns migration naming validation toggle.
      Returns:
      Boolean flag or null
    • setValidateMigrationNaming

      public void setValidateMigrationNaming(@Nullable Boolean validateMigrationNaming)
      Enables migration naming validation.
      Parameters:
      validateMigrationNaming - toggle
    • getCleanDisabled

      @Nullable public Boolean getCleanDisabled()
      Returns clean disabled flag.
      Returns:
      Boolean flag or null
    • setCleanDisabled

      public void setCleanDisabled(@Nullable Boolean cleanDisabled)
      Disables the clean command.
      Parameters:
      cleanDisabled - toggle
    • getBaselineOnMigrate

      @Nullable public Boolean getBaselineOnMigrate()
      Returns baselining toggle.
      Returns:
      Boolean flag or null
    • setBaselineOnMigrate

      public void setBaselineOnMigrate(@Nullable Boolean baselineOnMigrate)
      Enables baselining on migrate.
      Parameters:
      baselineOnMigrate - toggle
    • getMixed

      @Nullable public Boolean getMixed()
      Returns mixed migration toggle.
      Returns:
      Boolean flag or null
    • setMixed

      public void setMixed(@Nullable Boolean mixed)
      Enables mixed migrations.
      Parameters:
      mixed - toggle
    • getGroup

      @Nullable public Boolean getGroup()
      Returns grouping toggle.
      Returns:
      Boolean flag or null
    • setGroup

      public void setGroup(@Nullable Boolean group)
      Enables grouping migrations in a single transaction.
      Parameters:
      group - toggle
    • getInstalledBy

      @Nullable public String getInstalledBy()
      Returns installer identifier.
      Returns:
      identifier or null
    • setInstalledBy

      public void setInstalledBy(@Nullable String installedBy)
      Sets the user that installed migrations.
      Parameters:
      installedBy - installer identifier
    • errorOverrides

      public void errorOverrides(String... errorOverrides)
      Sets error overrides using var-args.
      Parameters:
      errorOverrides - overrides
    • getErrorOverrides

      @Nonnull public List<String> getErrorOverrides()
      Returns error overrides.
      Returns:
      overrides list
    • setErrorOverrides

      public void setErrorOverrides(@Nonnull List<String> errorOverrides)
      Replaces error override configuration.
      Parameters:
      errorOverrides - error overrides
    • getDryRunOutput

      @Nullable public String getDryRunOutput()
      Returns dry run output destination.
      Returns:
      path or null
    • setDryRunOutput

      public void setDryRunOutput(@Nullable String dryRunOutput)
      Sets dry run output destination.
      Parameters:
      dryRunOutput - output path
    • getStream

      @Nullable public Boolean getStream()
      Returns streaming flag.
      Returns:
      Boolean flag or null
    • setStream

      public void setStream(@Nullable Boolean stream)
      Enables streaming migrations.
      Parameters:
      stream - toggle
    • getBatch

      @Nullable public Boolean getBatch()
      Returns batching flag.
      Returns:
      Boolean flag or null
    • setBatch

      public void setBatch(@Nullable Boolean batch)
      Enables batching migrations.
      Parameters:
      batch - toggle
    • getOracleSqlplus

      @Nullable public Boolean getOracleSqlplus()
      Returns Oracle SQL*Plus toggle.
      Returns:
      Boolean flag or null
    • setOracleSqlplus

      public void setOracleSqlplus(@Nullable Boolean oracleSqlplus)
      Enables Oracle SQL*Plus compatibility.
      Parameters:
      oracleSqlplus - toggle
    • getOracleSqlplusWarn

      @Nullable public Boolean getOracleSqlplusWarn()
      Returns Oracle SQL*Plus warnings toggle.
      Returns:
      Boolean flag or null
    • setOracleSqlplusWarn

      public void setOracleSqlplusWarn(@Nullable Boolean oracleSqlplusWarn)
      Enables Oracle SQL*Plus warnings.
      Parameters:
      oracleSqlplusWarn - toggle
    • getOracleWalletLocation

      @Nullable public String getOracleWalletLocation()
      Returns Oracle wallet location.
      Returns:
      location or null
    • setOracleWalletLocation

      public void setOracleWalletLocation(@Nullable String oracleWalletLocation)
      Sets Oracle wallet location.
      Parameters:
      oracleWalletLocation - wallet path
    • getKerberosConfigFile

      @Nullable public String getKerberosConfigFile()
      Returns Kerberos configuration file path.
      Returns:
      path or null
    • setKerberosConfigFile

      public void setKerberosConfigFile(@Nullable String kerberosConfigFile)
      Sets Kerberos configuration file path.
      Parameters:
      kerberosConfigFile - configuration path
    • getLicenseKey

      @Nullable public String getLicenseKey()
      Returns configured Flyway license key.
      Returns:
      license key or null
    • setLicenseKey

      public void setLicenseKey(@Nullable String licenseKey)
      Sets Flyway license key.
      Parameters:
      licenseKey - license key
    • getConfigFileEncoding

      @Nullable public String getConfigFileEncoding()
      Returns configuration file encoding.
      Returns:
      encoding or null
    • setConfigFileEncoding

      public void setConfigFileEncoding(@Nullable String configFileEncoding)
      Sets configuration file encoding.
      Parameters:
      configFileEncoding - encoding value
    • configFiles

      public void configFiles(String... configFiles)
      Sets configuration files using var-args.
      Parameters:
      configFiles - config file paths
    • getConfigFiles

      @Nonnull public List<String> getConfigFiles()
      Returns configuration files.
      Returns:
      config file list
    • setConfigFiles

      public void setConfigFiles(@Nonnull List<String> configFiles)
      Replaces additional configuration files.
      Parameters:
      configFiles - config file paths
    • getWorkingDirectory

      @Nullable public String getWorkingDirectory()
      Returns working directory.
      Returns:
      working directory or null
    • setWorkingDirectory

      public void setWorkingDirectory(@Nullable String workingDirectory)
      Sets working directory used by Flyway.
      Parameters:
      workingDirectory - working directory
    • getCreateSchemas

      @Nullable public Boolean getCreateSchemas()
      Returns schema creation toggle.
      Returns:
      Boolean flag or null
    • setCreateSchemas

      public void setCreateSchemas(@Nullable Boolean createSchemas)
      Enables schema creation.
      Parameters:
      createSchemas - toggle
    • getFailOnMissingLocations

      @Nullable public Boolean getFailOnMissingLocations()
      Returns fail-on-missing-locations toggle.
      Returns:
      Boolean flag or null
    • setFailOnMissingLocations

      public void setFailOnMissingLocations(@Nullable Boolean failOnMissingLocations)
      Enables failure when configured locations are missing.
      Parameters:
      failOnMissingLocations - toggle
    • pluginConfiguration

      public void pluginConfiguration(@Nonnull String key, @Nonnull String value)
      Adds a single plugin configuration entry.
      Parameters:
      key - property name
      value - property value
    • getPluginConfiguration

      @Nonnull public Map<String,String> getPluginConfiguration()
      Returns plugin configuration overrides.
      Returns:
      configuration map
    • setPluginConfiguration

      public void setPluginConfiguration(@Nonnull Map<String,String> pluginConfiguration)
      Replaces plugin configuration overrides.
      Parameters:
      pluginConfiguration - property overrides