Pregunta

Ha sido unas semanas que estoy tratando de encontrar una explicación más detallada con ejemplos cómo manejar mi cambio en la base de datos de parche de software.

Situación:

  • despliego liberación de una aplicación WPF a usuario. Aplicación utiliza el archivo de datos MSSQL para el almacenamiento de datos de la aplicación (Implementación con el perfil del cliente y SqlServer Compact 3.5 prerrequisitos)
  • En otros cambios en el esquema de base de datos de desarrollo añado un poco de sobrepeso los datos también
  • Estoy tratando de ejecutar una parche / actualización menor / mayor con Visual Studio 2008 y la publicación de MSI

Deseo actualizar Usuarios de la aplicación y el archivo de base de datos, pero no tocar los datos que se almacena en la base de datos. Parece fácil, pero no logro encontrar en la web cómo hacer esto con la publicación de Visual Studio

Lo que yo he recogido hasta el momento son 2 opciones:

  • Crear script de actualización SQL para cada liberar y tratar de base de datos de actualización de Primera puesta en marcha del programa después de parches.
  • Crear proyecto de instalación de base de datos y tratar a la escritura desde allí (ni idea de cómo hacer esto).

Yo estaría contento de escuchar lo que algunos de ustedes están utilizando o usaría tal caso. Algunos ejemplos enlace a / explicación detallada de cómo TODO sería impresionante. No soy muy bueno en estas cosas despliegue / base de datos ... sin embargo ...:)

Gracias de antemano.

¿Fue útil?

Solución

Este artículo sobre " rieles estilo migraciones de bases de datos en .Net " podría sé útil. Desde el surgimiento de rieles ha habido una gran cantidad de trabajo en las mejores prácticas para las migraciones de bases de datos, que pueden ser aprovechados en otros idiomas y plataformas.

Otros consejos

En mi proyecto actual se utiliza una técnica llamada Integración de base de datos continuo.

Recopilamos todas las secuencias de comandos SQL de cambio (que se puede crear / alterar tablas, procedimientos almacenados, sino también la migración de datos, etc ...), en el proyecto # ac y desplegarlos al mismo tiempo que el resto del software.

El uso de esta técnica podemos asegurar que todas las bases de datos para desarrolladores son hasta a la fecha, así, ya que está integrado en el sistema de estudios de construcción visual.

Ejecutar este proceso MSBUILD de locales construye y para el despliegue. Se comprueba un número de versión en el datebase, y se ejecuta las secuencias de comandos con un número más alto.

No soy tan aficionado a MSBuild, pero hace el trabajo.

Martin Fowler tiene un artículo sobre diseño base de datos evolutivo que tiene algunos antecedentes sobre esto.

Si está utilizando SQL Server Management Studio para realizar cambios, puede utilizar el "generar un cambio de secuencias de comandos" para dejar que la escritura de los cambios para usted.

Si se agrega la clase de instalación para el archivo DLL o EXE es Instalar método será invocado durante la configuración (consulte nuestro MSDN para obtener más información, VS puede hacer un mini proj configuración para usted y entonces usted puede copiar el esqueleto y atributos). A continuación, puede ejecutar comandos SQL contra la CE y de copia de seguridad existente archivos de CE e incluso hacer una reversión si algo va mal (clase instalador tiene métodos a seguir los pasos transnacionales completo en el nivel de toda la instalación - la pieza para la mente: -)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top