When starting with a clean slate, database migrations and seed files (regardless of your chosen platform) are a pretty easy thing to work with. Need a new table? Create a migration. Need some seed data? Make a new class. The dirty little secret that no one talks about is this - as the database becomes more complex through normalization and relationships, generating good seed data becomes much harder. In this talk, I'll discuss how Help Scout uses Liquibase and a Symfony Console application to manage a mature and highly normalized transactional database.


Comments are closed.

Steven Wade at 11:53 on 20 Jan 2017

Excellent talk!

David's topic is one that many can relate to. This isn't so much as a tutorial but a lesson in problem solving, working within constraints, and critical thinking. David takes you on a journey from pain point, to spit ball discussions, to proof of concept, to struggling with multi-language quirks, to a working prototype, and finally to a finished product used throughout an entire company.

There are many great lessons learned in this presentation. I encourage everyone to listen to this talk and watch the video.

Jim at 10:52 on 23 Jan 2017

Enjoyed the talk mainly for the process and explanation of broader challenges and gothchas with migrations and seeding. I'm working with smaller sites/teams and don't yet have many of these pains but it's helpful to see what might lie ahead and hear vocabulary and hear about tools and techniques.

I'm not sure one talk would please every group so you'd likely want to craft the presentation to the audience, like you did here by showing the PHP group some of the Symfony CLI capabilities and code.

The code was rather hard to see from the second row so might want to zoom in pretty good when showing code snippets.