Ryan Booz

Camp Counselor

Shift Left! Successful CI/CD For Your Database

Event Logo

Tuesday, July 25, 2023 - 6:00 PM UTC, for 1 hour.

Regular, 60 minute presentation

Room: G

Flyway
DevOps
Database
CI/CD

Managing database schema migrations in an Agile, sprint-based team is often challenging and fraught with inconsistent tooling, developer experience, and limited DBA resources. Using your ORM of choice is often the path of least resistance, but quickly becomes error-prone and hard to manage as the project grows. Or worse yet, maybe your schema and change management is a folder full of poorly commented SQL scripts saved to a shared folder or local drive. Surely there's a better, SQL-centric way to manage databases as code, test changes, and deploy updates - right? Yes, there is! This session will explore database DevOps using popular open-source tools to manage database schema and code changes in a repeatable, maintainable way. I’ll start by discussing the differences between migration and state-based management. From there I’ll provide a feature overview for a handful of open-source and paid tools like Sqitch, Flyway, migra, Liquibase, and Postgres Compare, showing where they might fit into your current workflow. The session will conclude with a demo of Flyway to create a schema change from dev to prod through a CI/CD pipeline. By the end of the session, you'll be ready to tame your rogue application databases, managing changes and migrations with ease, and become the envy of the development team.

Prerequisites

Even if you've never put your database changes under source control, an understanding of Git and basic branching will be helpful. Because we'll be looking at how to automate database changes throughout the SDLC, having some experience with using a CI/CD pipeline like GitHub Actions, Azure Devops, GitLab pipelines, etc. will be a bonus but isn't necessary.

Take Aways

  • What database DevOps is
  • The benefits of moving database change management earlier in the pipeline
  • Different tools and methodologies for managing database changes
  • Features to look for in the tooling that you choose
favorited by:
David Fitzgerald Sushil Choudhary Allen Zaudtke Dan Willman Drew Douglas Eric Hamacher Ellie Stevens Itagyba Kuhlmann Dave Smith Timothy Tyson Brett Allenstein Edmund Greaves Kevin Ziegler Brian Robertson Joe Slack Jordan Leven Matt Giuliani Matthew Ives Nicolette Anderson Jer Lance Ben Walters Jon Meer Jacob Netz Lydia Schneider Josh Kinstler Bob Dankert Kevin Kelchen Derek Mulhausen Nick Heidke Alice Kim Chris Johnson Vagmi Mudumbai Eric Olsson James McCollum