Comma-separated list of locations to scan recursively for migrations. The location type is determined by its prefix.
Unprefixed locations or locations starting with classpath:
point to a package on the classpath and may contain both SQL and Java-based migrations. You must ensure the package is available on the classpath (see Adding to the classpath).
Locations starting with filesystem:
point to a directory on the filesystem, may only contain SQL migrations and are only scanned recursively down non-hidden directories.
Locations starting with s3:
point to a bucket in AWS S3, may only contain SQL migrations, and are scanned recursively. They are in the format s3:<bucket>(/optionalfolder/subfolder)
. To use AWS S3, the AWS SDK v2 and dependencies must be included, and configured for your S3 account.
Flyway Community is limited to a maximum of 100 migrations in Amazon S3. Upgrade to Flyway Teams to allow unlimited migrations.
Locations starting with gcs:
point to a bucket in Google Cloud Storage, may only contain SQL migrations, and are scanned recursively. They are in the format gcs:<bucket>(/optionalfolder/subfolder)
. To use GCS, the GCS library must be included, and the GCS environment variable GOOGLE_APPLICATION_CREDENTIALS
must be set to the credentials file for the service account that has access to the bucket.
Locations can contain wildcards. This allows matching against a path pattern instead of a single path. Supported wildcards:
**
: Matches any 0 or more directories. (e.g. db/**/test
will match db/version1.0/test
, db/version2.0/test
, db/development/version/1.0/test
but not db/version1.0/release
)
*
: Matches any 0 or more non-separator characters. (e.g. db/release1.*
will match db/release1.0
, db/release1.1
, db/release1.123
but not db/release2.0
)
?
: Matches any 1 non-separator character. (e.g. db/release1.?
will match db/release1.0
, db/release1.1
but not db/release1.11
)
classpath:db/migration
./flyway -locations="filesystem:./sql" info
flyway.locations=filesystem:./sql
FLYWAY_LOCATIONS=filesystem:./sql
Flyway.configure()
.locations("filesystem:./sql")
.load()
flyway {
locations = ['filesystem:./sql']
}
<configuration>
<locations>
<location>filesystem:./sql</location>
</locations>
</configuration>