Otra de la versión GDR: No se genera el fichero .sql al compilar el proyecto
Hace unos días comentaba que al migrar a la versión GDR de Visual Studio Database Edition me había encontrado con un problema en la migración de los proyectos de la versión anterior.
Ahora me encuentro con otra situación inesperada y que me ha implicado algo más de trabajo.
Con la versión anterior de Database Edition, al compilar el proyecto de base de datos se generaba el script de despliegue, el fichero .sql.
A mí este comportamiento me resultaba muy útil, porque en las compilaciones automática que tengo, después de compilar estos tipos de proyectos obtenía estos ficheros de despliegue, que son los que uso para desplegar la base de datos en mis entornos de pruebas y producción.
Pues con la versión GDR el comportamiento ha cambiado. Con la opción “Build” no se genera este fichero. Sólo se genera al hacer la acción “Deploy”.
Si como yo necesitas poder obtener este fichero en la compilación diaria tienes varias alternativas.
Si usas Team Build para automatizar tus compilaciones puedes usar una tarea como esta:
<Target Name="AfterCompileConfiguration">
<MSBuild Projects="$(SolutionRoot)\MyProject\MyProject\MyProject.dbproj"
Properties="Configuration=$(Configuration);
OutDir=$(BinariesRoot)\$(Configuration)\"
Targets="Deploy" />
</Target>
Y si no usas Team Build tienes otra alternativa que es lanzar desde línea de comandos la siguiente sentencia:
MSBuild /t:Deploy Path\DatabaseProject.dbproj