SQL Server Continuous Database Delivery with Flyway
Delivering database changes pose a unique set of challenges that force many to treat database changes as a second class citizen when releasing software. You'll learn how to use Flyway to version changes to a SQL Server database, and how to leverage versioned changes from your code repository to get early feedback about potential problems, including how to simulate a production database update every time someone checks in a database change.
What you'll learn
Continuous Delivery can dramatically decrease turn-around time between customer need and delivered software to fulfill that need. Combining discipline with the right practices and tools leads to early feedback about potential problems, a system of safety nets, the highest level of accountability, and an overall boost in confidence when releasing software. Delivering database changes poses a unique set of challenges that force many to treat database changes as a second class citizen when releasing software. This leads to delays and a lack of realizing the full potential of Continuous Delivery. In this course, you’ll learn the fundamentals to make managing database change a breeze and how to make it a first class citizen in your Continuous Delivery pipeline. You'll learn how to use Flyway to version changes to a SQL Server database. We will also cover how to leverage versioned changes from your code repository to get early feedback about potential problems, including how to simulate a production database update every time someone checks in a database change.
Table of contents
- Introduction 1m
- Tracking and Applying Changes 5m
- Introducing Flyway 2m
- How We're Going to Build a New Payroll DB 3m
- Demo: Setting up SQL Server Locally for a Dedicated Dev DB 4m
- Demo: Downloading Flyway 3m
- Demo: Creating a payroll DB and Connecting Flyway to the DB 14m
- Demo: Adding a First Employee Table 8m
- Demo: How to Name Change Scripts 3m
- Demo: Adding a Second Titles Table with Data 4m
- Demo: Dropping and Recreating Dev DBs at the Push of a Button 2m
- Demo: Adding Table Relationships with Employee Titles 4m
- Demo: Adding an Employee Positions View 4m
- Recap 1m
- Introduction 1m
- A Robust Development Workflow 5m
- Demo: Push Button Backup 16m
- Demo: Push Button Restore 10m
- Demo: Trying Out the Development Workflow 16m
- Careful with Database Name in Generated Scripts 1m
- Demo: What Happens When a Migration Fails? 5m
- Demo: How to Correct a Mistake in a Migration 8m
- Recap 1m
- Introduction 4m
- An Overview of CI and Database Changes 5m
- Demo: A Script to Test Database Changes 10m
- Demo: Setting up TeamCity to Test Database Changes on Checkin 13m
- The Sky's the Limit of What You Can Test in CI 2m
- Simulating a Production Database Release 4m
- Demo: Using TeamCity to Simulate a Production Release 12m
- Recap 2m
- Introduction 1m
- A Transition Strategy for Existing Databases 7m
- What We're Going to Do in This Module 3m
- Demo: Setting up a Dev and Prod Database 4m
- Demo: Step 1 Baselining Prod 10m
- Alignment Strategies 3m
- Demo: Step 2 Aligning Dev to Prod 4m
- Demo: Step 3 Writing Change Scripts 7m
- Demo: Step 4 Marking Dev as v2 3m
- Demo: Step 5 Marking Prod as v1 5m
- Demo: Step 6 Migrating Prod to v2 2m
- Detecting Drift in Production 3m
- Recap 1m