From the Archives: Database Delivery blog post collection (2011-2021)
Selected blog posts and articles/documentation I've written about database delivery over the last decade or so:
Migration script guidelines (ReadyRoll docs)
Some do's and don'ts of authoring and maintaining migration scripts.
Rollbacks vs Fix-forward (ReadyRoll docs)
The age-old question of whether it is better to rollback or to fix-forward (Spoiler alert: I'm still very much in favour of the latter approach).
Table population strategies (ReadyRoll docs)
Covers a number of approaches to seeding environments with data, including not just static/reference/lookup data but with transactional data as well.
Static data handling in SQL Server (Posted on SQL Server Central)
Introduces a stored procedure utility that I wrote for SQL Server that produces a MERGE
statement for a given table containing all of the data within that table. I later set up a GitHub project for the tool
. See also this tutorial for using the tool with ReadyRoll
.
Configuration data handling in SQL Server (Posted on the Octopus Deploy blog)
A tutorial on deploying environment-specific data using the SQL Server MERGE
statement and Octopus Deploy variable libraries. Though the instructions cover a ReadyRoll setup, it should be adaptable to any migration framework.
Desired-state vs Migrations-based deployments compared (Posted on Simple Talk)
Contrasts two vastly different approaches to database delivery by looking how each method deals with a given deployment edge case. Admittedly, this article does focus on limitations of SQL Server Data Tools (SSDT). So if you'd like a more general comparison of the two, I highly recommend Paul Stovell's blog post on database deployments .
Drift in Database Delivery series (this blog)
Learn about how to detect and mitigate drift within the deployment pipeline. Mainly covers migrations-based deployments, but much of it is applicable to desired-state deployments as well.
Other posts
These ones are more related to my background in Database DevOps, and my career in software delivery in general.
From Release Engineer to ReadyRoll founder and Redgate Product Manager (Posted on the Redgate blog)
This one gives a bit of context to the daily 'challenges' that lead me to come interested in automating database deployments in the first place. See also, My Accidental DBA Story .
Today I quit my job to focus on my startup (Previous blog site)
This marks the day in 2011 when I decided to go full time on my DB deployment automation tool, ReadyRoll.