When I'm developing or testing a new app, I usually spin up a test database (I use Postgres) with the `createdb` command and then add dummy data using a series of plain sql files with `insert` commands. This works, but it can get tedious, particularly as table definitions change and the schema becomes complex. Curious how others have approached this.
I recommend a combination of titan-data.io and liquibase.org. Liquibase allows you to create your table definitions as a part of your version control. Titan allows you to version your database and share different data states. With this setup, you can test schema changes against different data sets easily. The titan command are very git-like.