Located just outside Chicago, Joe Harrow is Senior Software Developer at Cars.com. He’s been working in Elixir since 2017, after first falling for functional programming while working in ETL applications using Clojure.
Database migrations can look safe—tests pass, the code deploys, and the migration runs without error. But as I’ve discovered the hard way, “safe” ain’t easy. In this talk, I’ll explore the subtle (and sometimes catastrophic) ways seemingly safe migrations can impact production systems, especially in high-traffic Elixir applications backed by PostgreSQL. Drawing from real-world experience at Cars.com, I’ll share what’s gone wrong, what we’ve learned, and how we’ve evolved our processes to make migrations safer in practice. Topics will include common Ecto migration pitfalls, how PostgreSQL’s locking behavior can catch teams off-guard, and how to use CI checks, strategies, and custom tooling to build a migration culture that’s both cautious and fast-moving. This talk is especially geared toward teams managing live production databases but will be valuable to any Elixir developer who’s ever had to run mix ecto.migrate with crossed fingers.
Key Takeaways:
Target Audience: