Let's Get Scary and Continuously Deploy Database Changes!
Description
But...databases are much scarier - how do we undo data changes? What if we dropped (or shrank) a column? How do we handle downtime? Do we actually trust our application developers?
In this talk, we will discuss how to successfully automate database deploys as part of a CI/CD pipeline. We will address some of the stickier questions above, like how to handle data type changes and how to remove columns without losing access to the data. We will discuss automated testing in brief, and how it can help us avoid some of the messier problems. And lastly, we will showcase how to roll forward using both state-based and migration-based tools like SSDT or Liquibase. We will use Azure for most examples, and the concepts will apply to (almost) any platform.