Project settings
Published 24 March 2021
All settings specific to Redgate Change Control are stored in redgate-change-control.json.
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.
Root elements
Name | Required? | Type | Description |
---|---|---|---|
version | Yes | String | The version of the settings file. This should not be altered. |
name | Yes | String | The display name of the project. |
id | Yes | String | A unique identifier for the project. This should not be altered. |
databaseType | Yes | String | The type of database being managed by this project. |
schemas | Yes | String Array | The schemas to track. See database connections for more information. |
developmentDatabase | No | Object | The connection information for the development database. This is usually stored in the user settings file. |
development | No | Object | Settings relating to the capturing of database changes in a schema model folder. |
deployment | No | Object | Settings relating to migration generation and deployment. |
capabilities | No | Object | Settings relating to database-type-specific capabilities |
Development Database
Name | Required? | Type | Description |
---|---|---|---|
connectionProvider | Yes | Object | The database connection information. See below for more information. |
Development
Name | Required? | Type | Description |
---|---|---|---|
scriptsFolder | Yes | String | The location of the schema model folder. |
Deployment
Name | Required? | Type | Description |
---|---|---|---|
flywayConfFiles | Yes | String Array | One or more flyway configuration files, configuring migration script deployment. |
shadowDatabase | Yes | Object | The connection information for the shadow database. |
Shadow database
Name | Required? | Type | Description |
---|---|---|---|
schema | No* | String | When only tracking a single schema, the shadow database can be set as a schema on the same database as the development database, rather than being a full database in its own right. |
connectionProvider | No* | String | The database connection information. See below for more information. |
*One of schema and connectionProvider must be provided.
Capabilities
Name | Required? | Type | Description |
---|---|---|---|
comparison | No | Object | Settings for comparing databases and schema models. |
codeAnalysis | No | Object | Settings for static code analysis. |
Comparison (Oracle)
Name | Required? | Type | Description |
---|---|---|---|
filter | No | String | Path to SQL Compare for Oracle pre-filter file. See Oracle filtering. |
ignoreRules | No | String | Path to SQL Compare for Oracle ignore rules filter file. See Oracle filtering. |
optionsFile | No | String | Path to ComparisonOptions.xml file, specifying SQL Compare for Oracle comparison options. See Oracle comparison options. |
Comparison (SQL Server)
Name | Required? | Type | Description |
---|---|---|---|
filter | No | String | Path to SQL Compare filter file, See SQL Server filtering. |
options | No | Object | Map of SQL Compare comparison options and their values. See SQL Server comparison options. |
Code Analysis
Name | Required? | Type | Description |
---|---|---|---|
settings | Yes | String | Path to Code Analysis for Oracle settings file |
Connection Provider Format
Most connection providers have type inline, and specify a JDBC URL with optional username and password.
Wherever different connection information is needed, a different object type must be specified.
See the examples below:
- "connectionProvider": {
- "type": "inline",
- "url": "jdbc:oracle:thin:@//localhost:1521/dev",
- "username": "developmentUsername",
- "password": "developmentPassword"
- }
- "connectionProvider": {
- "type": "inline",
- "url": "jdbc:sqlserver://MY-SERVER;instanceName=MY-INSTANCE;databaseName=dev;integratedSecurity=true"
- }
- "connectionProvider": {
- "type": "azureActiveDirectoryInteractive",
- "url": "jdbc:sqlserver://myserver.database.windows.net;databaseName=dev;authentication=ActiveDirectoryInteractive",
- "tenantId": "555edc21-daac-4415-826c-ce65e860b37d",
- "clientId": "dabc8f7f-1611-4468-afa5-ba134d0fe780",
- "redirectUri": "http://localhost"
- }
For more information see database connections.
Example project file
- {
- "version": "1.0",
- "name": "my project",
- "id": "a983562b-64f6-4b0e-9c88-620d3bb45699",
- "databaseType": "oracle",
- "schemas": [
- "MY_SCHEMA"
- ],
- "development": {
- "scriptsFolder": "./schema-model"
- },
- "deployment": {
- "flywayConfFiles": [
- "./flyway.conf"
- ]
- },
- "capabilities": {
- "comparison": {
- "filter": "./Filter.scpf",
- "ignoreRules": "./IgnoreRules.scpf",
- "optionsFile": "./schema-model/ComparisonOptions.xml"
- },
- "codeAnalysis": {
- "settings": "./cao.settings.xml"
- }
- }
- }