63 votos

¿Cuál es la mejor manera de controlar la versión de mi procedimientos almacenados de SQL server?

¿Cuál es la mejor manera de controlar la versión de mis objetos de base de datos? Estoy usando Visual studio 2005 y 2008 y SQL server 2005. Yo preferiría una solución que puede ser utilizado con SVN.

33voto

Ron Savage Puntos 7612

Mismo que el resto de código, agregue un "proyecto de Base de datos" para la aplicación de la solución y mantener los archivos de sql se utiliza para crear la base de datos los objetos que hay adentro. El uso de la misma el control de versión de los archivos de código de la aplicación.

15voto

Thomas Wagner Puntos 1633

Mira las herramientas que ofrecemos RedGate. Ellos tratan específicamente con copia de seguridad / restauración / comparación de los casos objetos de SQL Server, incluyendo SP. Alternativamente, no estoy seguro, pero creo que Visual Studio le permite comprobar sp en un repositorio. He intentado que yo. Pero puedo recomendar RedGate herramientas. Que me ha salvado un montón de problemas

5voto

Josef Puntos 4395

Puedo usar SVN para todos los de mi mesa/procedimiento almacenado/función de control de código fuente.

No pude encontrar nada que conocí a mis necesidades, por lo que terminé de escribir una utilidad que me permita volcar el código de salida a una agradable estructura de directorios para su uso con SVN.

Para los interesados, la fuente ya está disponible en el svn://finsel.com/public/VS2005/GenerateSVNFilesForSQL2005.

3voto

HLGEM Puntos 54641

Hacemos uso de la Subversión y de todo lo que hacemos es guardar el código sql en el directorio de nuestro proyecto subversion y, a continuación, confirme el código en el repositorio cuando estamos listos y actualización del repositorio antes de empezar a trabajar en algo que ya existe.

El verdadero truco está en convencer a los desarrolladores para hacer eso. Nuestros administradores de bases de datos hacen que, mediante la eliminación de cualquier procedimiento almacenado (u otro objeto de base de datos) que no está en la Subversión de forma periódica. Perder cosas una vez y casi nadie lo hace de nuevo.

1voto

paxos1977 Puntos 25088

No sé de un pre-envasados solución, lo siento...

... pero no podía sólo un pequeño script que se conecta a la base de datos y se guardan todos los procedimientos almacenados en el disco como archivos de texto? A continuación, la secuencia de comandos se podría agregar todos los archivos de texto en el repositorio SVN, haciendo una llamada al sistema 'svn add'.

Entonces usted probablemente querría otra secuencia de comandos para conectarse a la base de datos, la caída de todos los procedimientos almacenados y de carga en todo el repositorio de procedimientos almacenados desde el disco. Esta secuencia de comandos sería necesario ejecutar cada vez que se ejecutó "svn up" y había nuevos/modificados los procedimientos almacenados.

No estoy seguro de si esto puede ser logrado con MS SQL, pero estoy bastante seguro de que MySQL debería adaptarse a esto. Si la escritura SVN extensiones para hacer esto es demasiado complicado, Capistrano admite checkin/checkout secuencias de comandos, si mal no recuerdo.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X