Toml project settings
Published 20 July 2023
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
Name | Required? | Type | Description |
---|---|---|---|
id | Yes | String | A unique identifier for the project. This should not be altered. |
name | Yes | String | The display name of the project. |
databaseType | Yes | String | The type of database being managed by this project. |
environments | No | environment table array | All the database environments used in the development or deployment of this project. |
flyway | No | flyway table | The configurations relating to the flyway engine, principally used in deployment operations |
flywayDesktop | No | flywayDesktop table | The configurations relating to flywayDesktop, used only for development using Flyway Desktop |
redgateCompare | No | redgateCompare table | Settings 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.