¿Cuál es una buena estrategia para almacenar instantáneas de bases de datos en git?

Actualmente excluyo mi development.sqlite3 de Git para poder mantener mi git status limpio a less que un file realmente haya cambiado.

Sin embargo, cuando quiero pagar una versión mucho más temprana del código que se basó en una database diferente (y datos ficticios) de una época anterior, termino con un código y una database que no están sincronizados.

Como no tengo mi database dev registrada en Git, es muy difícil restablecer ese entorno. No puedo simplemente rebuild la database porque necesita toda la información ficticia que contiene.

¿Existe un medio feliz por el que pueda respaldar automáticamente mi database hasta Git a diario (o quizás cada vez que se crea una label) pero también puedo excluirla en Git .ignore ?

Si hay datos que necesita para que la database funcione correctamente o datos ficticios que lo ayuden a desarrollar, entonces creo que debería usar un file inicial para definirlos. Luego, cuando revisa la versión anterior, primero ejecuta las migraciones y luego:

 rake db:seed 

Si actualiza su file semilla a medida que avanza para reflejar el estado de la database, cualquier revisión que revise podrá generar los datos correctos.