ReadyRoll 1.5 release notes
Published 11 February 2016
1.5.2 - May 4th, 2013
- Modifying a migration script after clicking View Pending Changes doesn’t prevent Import (Details)
- SSDT Install should not initiate computer restart (Details)
- Installer is unsigned (Details)
1.5.1 - April 27th, 2013
- Fix markdown encoding in Octopus deploy preview (Details)
- Validate all required variables for Octopus package deployments (Details)
- SQL connection errors not showing in Octopus deploy log (Details)
- Powershell exceptions should cause Octopus package deployment to fail (Details)
- Deploy command causes startup project selection to be changed (Details)
- Deployment preview failure if Octopus packaging is not enabled (Details)
1.5 - April 19th, 2013
This release brings a number of new features that provide greater transparency of deployments, and help keep your database environments in-sync with source control.
- Octopus deployment preview: within Octopus release contents
- Deploy preview (Html report): Generate a diff report listing schema objects which will be affected by any pending migrations in the project
- Drift reporting (Html report): Generate a diff report listing schema objects in the Production environment which have ‘drifted’ from the project baseline (Blog post)
- Drift correction: Auto-generate a script to re-sync a given target database to match the project (source control) baseline (Blog post 1 | Blog post 2)
- DBSync tool-window: Allow viewing/reverting of uncommitted changes in sandbox db when pending migrations are found in the project (Details)
Octopus deployment preview
This feature adds a number of details about your schema changes to the release contents screen in Octopus, including which migration scripts are pending deployment (if any), and a list of objects that are affected by those scripts.
How it works
The deployment preview is generated at build time by comparing the before-and-after states of your project to create a snapshot view of pending changes.
ReadyRoll first gets a list of migrations which are pending deployment in a given target environment (eg. your Production database), and then builds a version of your database that excludes that list of scripts. This defines the before state of your project.
Another version of your database is built up to the “tip” and includes all migration scripts within your project. This is the afterstate.
The list of changes is created by performing a diff between these two baselines, so multiple changes to the same object will be displayed as a single change in the list.
Configuring of deployment previews happens within the build parameters section of your Continuous Integration server.
Specify these MSBuild properties in your build configuration to enable deployment preview:
- TargetServer & TargetDatabase: the SQL Server instance name & database name of your target environment. We recommend setting this to the last environment in your deployment pipeline (for most this should be Production). Read-only access is required.
- ShadowServer: a test SQL Server instance name. This will be used by ReadyRoll to create the two versions of your database needed to generate the deployment preview. Sysadmin (database create/backup/drop) level access is required.
Viewing object differences
If the database is found to have pending changes, a report is generated that allows you to view the individual object differences.
To find the file (named
[ProjectName].html), currently you’ll have to dig into the build artifacts:
We’re working with the team over at Octopus to see if we can include the report in the release details.
For more information about using ReadyRoll with Octopus Deploy, see Octopus Deploy.
- Errors in SQL execution should cause Octopus package deployment to fail (Details)
- Reverting objects can cause more than just the specified differences from being included in the sync script (Details)
- Migration Info widget: Mark As Deployed action fails if the Shadow database hasn’t been built and the project output is up-to-date. (Details)
- DBSync tool can destabilise when importing databases with thousands of objects (Details)
- Long-running builds (> 5 minutes) raise timeout exceptions (Details)
- Working with an existing database: deploy fails within Visual Studio if the target database does not contain a MigrationLog and the project contains import scripts. (Details)
- Visual Studio ‘Find in Document’ widget does not appear in T-SQL editor with SSDT 11.1.2108+ installed (Details)
- Timeout connecting to SQL Server (Details)
- SQL Server Authentication within sqlproj file fails (Details)
- Upgrade SQL Server Data Tools to December 2012 update (Details)