Toml project settings

This page contains an example project file below.  It is recommended that all paths within the file are specified as relative paths and point to files or folders within the repository being version controlled.  This file is created for you when you create a new project in Flyway Desktop or use Flyway Desktop to import an existing flyway.conf file.  Most of the configuration can be done through the Flyway Desktop UI.

Root elements

NameRequired?TypeDescription
idYesStringA unique identifier for the project. This should not be altered.
nameYesString

The display name of the project.

databaseTypeYesString

The type of database being managed by this project.

environmentsNoenvironment table arrayAll the database environments used in the development or deployment of this project.
flywayNoflyway tableThe configurations relating to the flyway engine, principally used in deployment operations
flywayDesktopNoflywayDesktop tableThe configurations relating to flywayDesktop, used only for development using Flyway Desktop
redgateCompareNoredgateCompare tableSettings relating to database comparisons and deployment script generation

Example project file

databaseType = "SqlServer"
name = "my project"
id = "0018e518-fd44-44d1-8113-5862cbd46874"

[flyway]
mixed = true
outOfOrder = true
locations = ["filesystem:migrations"]
validateMigrationNaming = true
defaultSchema = "dbo"

[flyway.plugins.clean]
mode = "all"[flywayDesktop]
developmentEnvironment = "development"
shadowEnvironment = "shadow"
schemaModel = "./schema-model"

[redgateCompare]
filterFile = "filter.rgf"

[redgateCompare.sqlserver]
filterFile = "Filter.scpf"

[redgateCompare.sqlserver.options.behavior]
addCreateOrAlterForRerunnableScripts = false
addDropAndCreateForRerunnableScripts = false
addNoPopulationToFulltextIndexes = false
addObjectExistenceChecks = false
addOnlineOnWhenCreatingIndexesOrAlteringColumns = false
addWithEncryption = false
considerNextFilegroupInPartitionSchemes = true
decryptEncryptedObjects = true
disableAutoColumnMapping = false
dontUseAlterAssemblyToChangeClrObjects = false
forbidDuplicateTableStorageSettings = false
forceColumnOrder = false
ignoreMigrationScripts = false
includeDependencies = true
includeRoleExistenceChecks = true
includeSchemaExistenceChecks = true
inlineFulltextFields = false
inlineTableObjects = false
useCaseSensitiveObjectDefinition = false
useDatabaseCompatibilityLevel = false
useSetStatementsInScriptDatabaseInfo = false
writeAssembliesAsDlls = false

[redgateCompare.sqlserver.options.ignores]
ignoreAuthorizationOnSchemaObjects = false
ignoreBindings = false
ignoreChangeTracking = false
ignoreCollations = true
ignoreComments = false
ignoreDataCompression = true
ignoreDataSyncSchema = false
ignoreDatabaseAndServerNameInSynonyms = true
ignoreDmlTriggers = false
ignoreDynamicDataMasking = false
ignoreEventNotificationsOnQueues = false
ignoreExtendedProperties = false
ignoreFileGroupsPartitionSchemesAndPartitionFunctions = true
ignoreFillFactorAndIndexPadding = true
ignoreFullTextIndexing = false
ignoreIdentitySeedAndIncrementValues = false
ignoreIndexes = false
ignoreInsteadOfTriggers = false
ignoreInternallyUsedMicrosoftExtendedProperties = false
ignoreLockPropertiesOfIndexes = false
ignoreNocheckAndWithNocheck = false
ignoreNotForReplication = true
ignoreNullabilityOfColumns = false
ignorePerformanceIndexes = false
ignorePermissions = false
ignoreReplicationTriggers = true
ignoreSchemas = false
ignoreSensitivityClassifications = false
ignoreSetQuotedIdentifierAndSetAnsiNullsStatements = false
ignoreSquareBracketsInObjectNames = false
ignoreStatistics = true
ignoreStatisticsIncremental = false
ignoreStatisticsNoRecomputePropertyOnIndexes = false
ignoreSynonymDependencies = false
ignoreSystemNamedConstraintAndIndexNames = false
ignoreTsqltFrameworkAndTests = true
ignoreUserProperties = true
ignoreUsersPermissionsAndRoleMemberships = true
ignoreWhiteSpace = true
ignoreWithElementOrder = true
ignoreWithEncryption = false
ignoreWithNoCheck = true

[redgateCompare.sqlserver.data.options.mapping]
includeTimestampColumns = false
useCaseSensitiveObjectDefinition = true

[redgateCompare.sqlserver.data.options.comparison]
compressTemporaryFiles = false
forceBinaryCollation = true
treatEmptyStringAsNull = false
trimTrailingWhiteSpace = false
useChecksumComparison = false
useMaxPrecisionForFloatComparison = false

[redgateCompare.sqlserver.data.options.deployment]
disableDdlTriggers = true
disableDmlTriggers = false
disableForeignKeys = false
dontIncludeCommentsInScript = false
dropPrimaryKeysIndexesAndUniqueConstraints = false
reseedIdentityColumns = false
skipIntegrityChecksForForeignKeys = false
transportClrDataTypesAsBinary = false

Note: See Parameters and Comparison options to learn more about the comparison options that can be configured in Flyway Desktop.

Example using multiple locations

[flyway]
...
locations = [ "filesystem:migrations" , "filesystem:..\\CustomerA\\DataMigrations" ]
...

Note: It my be necessary to escape the backslash if you have to specify a different folder path to the location of the migration scripts. 


Didn't find what you were looking for?