Deploying SQL Change Automation Projects
Published 31 July 2019
SQL Change Automation provides a set of PowerShell cmdlets for deploying projects, as well as several add-ons for easy integration with several popular continuous integration and continuous deployment tools. This page provides a summary of the options you have for deploying your SQL Change Automation project.
PowerShell
We recommend deploying SQL Change Automation projects using the PowerShell release components.
The PowerShell cmdlets can be used to automate database deployments by writing deployment scripts like the one below.
This example will build and deploy the project to the live database specified in the database connection.
Build
# Path to a SQL Change Automation project $project = "C:\Repos\MyProject\MyProject.sqlproj" $validatedProject = Invoke-DatabaseBuild $project # Build the project, creating a build artifact $buildArtifact = $validatedProject | New-DatabaseBuildArtifact -PackageId MyDatabase -PackageVersion 1.0.0 $buildArtifact | Export-DatabaseBuildArtifact -Path "C:\packages\buildArtifacts" -Force
Release
$prod = New-DatabaseConnection -ServerInstance "localhost" -Database "EmptyDb" # Use the build artifact we just created $build = Import-DatabaseBuildArtifact "C:\packages\buildArtifacts\MyProject.1.0.0.nupkg" # Create the deployment artifact $update = New-DatabaseReleaseArtifact -Source $build -Target $prod # Deploy the project Use-DatabaseReleaseArtifact $update -DeployTo $prod
See Getting started with the SQL Change Automation PowerShell components for more information.
CI/CD Add-ons
SQL Change Automation can be used by any CI/CD server that supports PowerShell.
We also provide add-ons for a selection of tools, including Visual Studio Team Services, Team Foundation Server and TeamCity.
See Automating Database Changes and Add-ons for more information.
SQL Source Control Projects
SQL Change Automation can also deploy SQL Source Control projects.