2009-11-25 13 views
6

Estoy empezando a trabajar con proyectos de bases de datos en Visual Studio 2010, y me pregunto cómo conseguir que el generador de scripts diferenciales incluya una instrucción DROP TABLE. Si creo un nuevo script de tabla en la carpeta Tables, el diferencial lo recoge e incluye una instrucción CREATE TABLE en el script de despliegue, pero cuando elimino ese archivo SQL del proyecto, no pone un DROP en el script.Eliminando una tabla con Visual Studio 2010 Database Project

He verificado que esto también se aplica a los procedimientos almacenados. ¿Hay alguna manera de deshacerse de los objetos existentes en la base de datos?

Nota: Creo que esto se aplicaría a Visual Studio 2008 Team System para desarrolladores de bases de datos (Data Dude) GDR también.

Respuesta

14

(Estas instrucciones se aplican a VS 2008 GDR2, pero creo que como usted ha dicho, estos serán similares, si no idénticas para VS 2010.)

Puede abrir la configuración del proyecto y vaya a la ficha Implementación y verificación la casilla "Generar declaraciones DROP para objetos que están en la base de datos de destino pero que no están en el proyecto de la base de datos".

Dependiendo de cómo trabaje, también puede necesitar desmarcar la casilla etiquetada "Bloquear implementación incremental si se puede perder la información". Sin embargo, es una advertencia razonable que esto es algo arriesgado, y es posible que desee tener una copia de seguridad de la base de datos automáticamente antes de la implementación mientras está allí.

+0

Gracias! Un momento "duh" allí, supongo que me perdí esa casilla. –

+2

en visual studio 2013 No puedo encontrar publicar ni implementar pestaña en la configuración del proyecto y cuando dejo caer la base de datos, no se genera ningún script cuando dejo caer una tabla aunque funciona para crear tablas ... ¿alguna sugerencia? –

+0

@Mohamed Haga clic con el botón derecho en el proyecto de la base de datos en Solution Explorer, seleccione ** Publicar **, luego haga clic en el botón ** Avanzado **. En la nueva ventana, vaya a la pestaña Salir, marque la primera opción: ** Soltar objetos en el objetivo pero no en la fuente **. Solo tenga en cuenta que ahora todo lo que no está en la fuente se eliminará de manera predeterminada, por lo que deberá verificar manualmente qué objetos no se deben eliminar. –

Cuestiones relacionadas