¿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.
Respuestas
¿Demasiados anuncios?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
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.
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.
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.