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.