Class MigrationsProperties


@ConfigRoot(prefix="org.neo4j", name="migrations", phase=RUN_TIME) public class MigrationsProperties extends Object
Shim between MigrationsConfig and the Smallrye configuration.
Michael J. Simons
  • Field Details

    • externalLocations

      @ConfigItem public Optional<List<String>> externalLocations
      An optional list of external locations that don't become part of the image. Those locations can be changed during runtime in contrast to MigrationsBuildTimeProperties.locationsToScan but can only be used for locations inside the filesystem.
    • enabled

      @ConfigItem(defaultValue="true") public boolean enabled
      Set to false to disable migrations at start. An instance of Migrations will still be provided to interested parties.
    • transactionMode

      @ConfigItem(defaultValue="PER_MIGRATION") public ac.simons.neo4j.migrations.core.MigrationsConfig.TransactionMode transactionMode
      The transaction mode in use (Defaults to "per migration", meaning one script is run in one transaction).
    • database

      @ConfigItem public Optional<String> database
      The database that should be migrated (Neo4j EE 4.0+ only). Leave empty for using the default database.
    • schemaDatabase

      @ConfigItem public Optional<String> schemaDatabase
      The database that should be used for storing informations about migrations (Neo4j EE 4.0+ only). Leave empty for using the default database.
    • impersonatedUser

      @ConfigItem public Optional<String> impersonatedUser
      An alternative user to impersonate during migration. Might have higher privileges than the user connected, which will be dropped again after migration. Requires Neo4j EE 4.4+. Leave empty for using the connected user.
    • installedBy

      @ConfigItem public Optional<String> installedBy
      Username recorded as property by on the MIGRATED_TO relationship.
    • validateOnMigrate

      @ConfigItem(defaultValue="true") public boolean validateOnMigrate
      Validating helps you verify that the migrations applied to the database match the ones available locally and is on by default.
    • autocrlf

      @ConfigItem(defaultValue="false") public boolean autocrlf
      If you're programming on Windows and working with people who are not (or vice-versa), you'll probably run into line-ending issues at some point. This is because Windows uses both a carriage-return character and a linefeed character for newlines in its files, whereas macOS and Linux systems use only the linefeed character. This is a subtle but incredibly annoying fact of cross-platform work; many editors on Windows silently replace existing LF-style line endings with CRLF, or insert both line-ending characters when the user hits the enter key. Neo4j migrations can handle this by auto-converting CRLF line endings into LF before computing checksums of a Cypher-based migration or applying it.
    • delayBetweenMigrations

      @ConfigItem public Optional<Duration> delayBetweenMigrations
      A configurable delay that will be applied in between applying two migrations.
    • versionSortOrder

      @ConfigItem(defaultValue="LEXICOGRAPHIC") public ac.simons.neo4j.migrations.core.MigrationsConfig.VersionSortOrder versionSortOrder
      The sort order for migrations. Defaults to MigrationsConfig.VersionSortOrder.LEXICOGRAPHIC until 3.x.
  • Constructor Details

    • MigrationsProperties

      public MigrationsProperties()