2010-07-01 17 views
15

Tengo curiosidad por si hay alguna solución, preferiblemente gratuita, que pueda tener una base de datos central para publicar datos en una versión.Versión de control de bases de datos

Por ejemplo,

cliente 1 decide editar un perfil de personas por lo que recibe una copia local en su máquina para hacer cambios a. Cuando están contentos con editar, publican los resultados en la base de datos central. Al igual que la forma en que haría un envío a la fuerza.

El Cliente 2 intenta editar la misma copia local, pero cuando van a enviar tienen que resolver conflictos.

La base de datos central debe almacenar las diferencias comprimidas entre las versiones de los datos.

En cualquier punto, alguien puede ver todas las versiones de los datos enviados.

+0

¿De qué tipo de interfaz de usuario estamos hablando aquí? –

Respuesta

3

"El control de versiones de bases de datos" es un poco ambigua para un título, porque en realidad está pidiendo una VCS utilizando una base de datos como repositorio de "almacén de datos" .

Subversion tiene dicho modelo (ya sea Berkeley DB or filesystem-based).
También tiene un Copy-Modify-Merge model que es similar al tipo de mecanismo de bloqueo que está describiendo.

alt text http://svnbook.red-bean.com/nightly/en/images/ch02dia4.pngalt text http://svnbook.red-bean.com/nightly/en/images/ch02dia5.png

+0

Creo que OP está buscando una manera de poner contenido de base de datos en un VCS en lugar de utilizar una base de datos como mecanismo de almacenamiento para un VCS. En otras palabras, en lugar de usar un VCS para administrar los cambios en los archivos, el OP está buscando un VCS que pueda usar para administrar los cambios en los registros de la base de datos. –

2

Las herramientas de SQL de tipo Redgate de la oferta de algunas de esta funcionalidad, pero no se aplica de una manera que usted describe. Por ejemplo, sql data compare puede comparar las diferencias entre los datos en 2 bases de datos, y también se puede usar sql source control.

Sin embargo, obtener una copia de la base de datos en una máquina local, realizar cambios y volver a enviarla sería más un proceso manual.

+1

Si está considerando la solución de Red Gate para el control de versiones de datos, haga clic en "Cómo controlar su fuente de origen" vinculado desde: http://www.red-gate.com/products/sql_source_control/evaluation_center/index.htm –

3

Echa un vistazo OffScale DataGrove.

Este producto realiza un seguimiento de los cambios en toda la base de datos: esquema y datos. Puede etiquetar versiones en cualquier punto en el tiempo y regresar a estados anteriores de la base de datos con un simple comando. También le permite crear copias virtuales, separadas, de la misma base de datos para que cada miembro del equipo pueda tener su propia base de datos separada. Todas las copias virtuales se rastrean en el mismo repositorio por lo que es súper fácil revertir su base de datos a la versión de otra persona (simplemente revisa su versión, al igual que lo hace con su control de origen). Esto significa que todos sus DB siempre se pueden sincronizar.

Renuncia - Trabajo en fuera de escala :-)

0

Esto es exactamente lo que mi producto (sí soy parcial :)) dbMaestro El trabajo en equipo hace.

  • Se hace cumplir y realizar un seguimiento de los cambios de la estructura y el contenido
  • Impide dos cambios paralelos en una estructura de objeto o contenido por dos (siempre que trabajan en el mismo objeto - es decir, misma base de datos, el mismo schema, ...)
  • Utiliza un análisis de línea de base que comprende la naturaleza del cambio y sabe si el cambio se debe promover o se debe ignorar (ya que se hizo desde otro entorno) o si hay un conflicto Y mucho más ...

Le animo a que lea una revisión exhaustiva e imparcial sobre la solución de Administración Enforzada de Base de Datos por el veterano experto en Base de Datos Ben Taylor que publicó en LinkedIn https://www.linkedin.com/pulse/article/20140907002729-287832-solve-database-change-mangement-with-dbmaestro

Cuestiones relacionadas