Matthew Groves

Camp Counselor

Using Fluent Migrations to Put Your Schema in Git

Event Logo

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

AT THAT (In-Person Only) Regular, 60 minute presentation

Room: African 70

migrations
SQL
NoSQL
scripting

I just made a change to the database schema, but now the team needs it for my feature to work. How can I keep track of my database changes and communicate them to the rest of the team? Migrations give a structured way to structurally alter your database structure as your application evolves . . . structurally. They also provide a way for everyone on the team: developers, testers, CI admins, DBAs, etc, to apply the latest changes wherever they are needed - with uniformity and low friction. Fluent Migrations for .NET provide a discoverable, human readable API that supports dozens of different databases (including SQL Server, PostgreSQL, Oracle). Topics covered in this session: * Why you should use migrations * How to write fluent migrations * A look behind the scenes of how fluent migrations work * Drawbacks/downsides to using migrations * Other migration options for EF and NoSQL (Couchbase) Ad hoc SQL scripts make you want to flip a desk? Keep your team on the same page with fluent migrations. (This session will briefly mention EF Migrations, but is not primarily about EF).

Prerequisites

This session is heavily C#/.NET based, so you will benefit the most if you are familiar with those. Knowledge of databases, especially relational, will be helpful. This session will *not* be explaining or showing source control/Git, but it also does not depend on your knowledge of any particular source control tool ("Git" in the title is just shorthand for "source control"). This session is *not* using EF Migrations, but if you have some knowledge of them, it may be helpful for you to compare/contrast. "Migration" in the context of this session means "the migration of data structures as your program evolves". It does not mean "the movement of data from one database to another".

Take Aways

  • What database migrations are
  • Why database migrations are important
  • A discussion of database migrations and NoSQL
  • Pros/cons of using a migration approach
  • How to get started using Fluent Migrations
  • A brief summary of alternative tools for database migration
favorited by:
Dave Smith Nick Heidke Dan Willman Josh Gretz Allen Zaudtke Jer Lance Daniel Garcia Tim Kempster Scott Kuhl Matthew Ives Robert Derman James McCollum