Best practice for initializing woriing data for development

I’m getting tired of creating working data in my db just so that I can
mess it up while working on the code. I’ve been using Ruby code to
create initial working data, however my data model is getting complex
enough that it’s becoming a pain to maintain this code. I’ve been
thinking about using YAML fixtures for this purpose, but there’s no
obvious support for keeping separate fixtures for development and
testing.

I know I could construct the initial data by hand and then dump and
restore it, but that doesn’t seem like the best way to go. I’m looking
for a solution where I could type something like “rake
load_working_data” and go from there.

Has anyone come up with a good solution for creating working data for
development?

thanks,
joshua susser