2011-01-05 8 views
5

Tengo un proyecto en el que necesito trabajar en una nueva característica que requiere que parte de la base de datos sea rediseñada, manteniendo también la rama de desarrollo principal trabajando en el esquema anterior.¿Cómo administrar las ramas de git con diferentes esquemas de db?

¿Cuál es su mejor práctica para gestionar un proyecto como este?

Pensé en tener una base de datos separada mientras trabajaba en la nueva característica, pero me di cuenta de que esto requeriría que la configuración de la base de datos se registrara en el repositorio, que es un no-go. ¿Hay otras formas en que pueda abordar el problema?


datos semilla para el rescate

justo después de la publicación de esta la respuesta me golpeó - que debería tener algunos scripts para poblar mi db con los datos de semillas. De esa forma, puedo simplemente colocar/recrear/sembrar la base de datos cuando cambio de rama.

Respuesta

1

La forma habitual de resolver esto es verificar los scripts de creación de la base de datos en el control de código fuente. Luego puede bifurcarlos y administrarlos de la misma manera que el resto de su código fuente.

Necesitará una forma de apuntar su código a una instancia particular de una base de datos (que se ha creado utilizando las secuencias de comandos en la rama actual).

+2

Gracias Greg, como es Rails, todas las secuencias de comandos de creación/migración de la base de datos ya están en control de fuente. Ahora que lo pienso un poco más, creo que todo lo que realmente necesito son algunos datos iniciales para que pueda soltar/recrear/sembrar cada vez que necesito cambiar –

Cuestiones relacionadas