Control de versiones de la base de datos de SQL Server

Estoy buscando un complemento/herramientas de control de versiones de la base de datos de SQL Server de código abierto para vincular con Git.

Probé gitSQL y el control de fuente sql de puerta roja (no es una fuente abierta). Con gitSQL veo un problema que cuando trato de exportar un objeto parece exportar dependencias también.

Me gustaría obtener algunas recomendaciones sobre buenas herramientas para el control de versiones de SQL Server.

Estoy usando SQL Server Management Studio 2014.

Respuestas (1)

ingrese la descripción de la imagen aquí

Archivos de texto sin formato, en Git/Mercurial

Use el control de versión de su código fuente, como Git , como mencionó, o Mercurial .

Realice un seguimiento de la creación, la definición y los cambios en evolución como secuencias de comandos SQL. Estos son archivos de texto sin formato y se pueden guardar junto con su proyecto de aplicación o en un proyecto independiente propio.

Como estos son solo archivos de texto, no necesita ningún complemento o herramienta especial para vincular con Git.

Es posible que desee utilizar una herramienta de migración de base de datos para ayudar a administrar y automatizar la tarea de ejecutar cada uno de estos scripts en un orden determinado según sea necesario. Ejecuta una migración cuando vuelve a crear una base de datos o para actualizar una base de datos que ya está en uso.

ruta migratoria

El proyecto Flyway es una herramienta de migración de base de datos. Cada paso que da en la evolución de la estructura de su base de datos se registra como un script SQL para ser administrado por Flyway. Cuando Flyway encuentra una instancia de su base de datos que aún no se ha actualizado, ejecuta los scripts SQL correspondientes.

Puede conservar esos scripts SQL junto con su código fuente, incluso como parte de su sistema de control de versiones. O puede mantener esos scripts externos a su proyecto y luego apuntar Flyway hacia ellos en tiempo de ejecución.

Opcionalmente, puede aplicar clases Java además de los scripts SQL para efectuar cambios en su base de datos, para situaciones complicadas donde SQL es insuficiente.

Flyway está construido en Java, pero también es útil para los desarrolladores que no son de Java, con contenedores de utilidad de línea de comandos alrededor de las clases de Java que invocan. Por lo tanto, puede ejecutar Flyway desde una consola, un script de shell o desde su servidor de compilación/integración.

Flyway es de código abierto, gratuito y está creciendo rápidamente en popularidad.

Admite Microsoft SQL Server y un par de docenas más, como Postgres, H2, DB2, etc.

Muy útil para las pruebas, ya que puede crear una nueva base de datos vacía y luego hacer que Flyway lleve esa base de datos a cualquier punto deseado en su historial de desarrollo.

Liquibase

Liquibase es bastante similar a Flyway en su propósito, pero sus migraciones están impulsadas por secuencias de comandos XML en lugar de secuencias de comandos SQL.

Debe considerar y comparar Liquibase al considerar Flyway. Ambos son fuertes herramientas exitosas.

Gracias por tu comentario. Estoy buscando herramientas de control de versiones, no herramientas de migración. Flyway y Liquibase son herramientas de migración. ¿Podría recomendar alguna herramienta de control de versiones de código abierto para el servidor SQL?
@bhuvana Pones los scripts SQL administrados por Flyway en cualquier sistema de control de versiones regular como Mercurial o Git. Ahora tiene un historial completo de la evolución de la estructura de su base de datos. ¿Qué más podría querer decir con una "herramienta de control de versiones para SQL Server"? Edite su pregunta para explicar exactamente lo que necesita.