Укажите строку подключения при сборке sqlproj
Мы начали использовать локальные SQL-серверы (SQL 2012) для разработки. У нас есть инструмент, который вызывает MSBUILD для развертывания проекта SQL (.sqproj) в наших локальных базах данных dev и test.
Возникло требование, когда мы хотим использовать этот инструмент для развертывания в других локальных базах данных - это редко, но нужно.
Мы настроили файл.publish.xml для каждой нормальной среды (dev.publish.xml, test.publish.xml, local.publish.xml, где local указывает на (local)\SQL2012).
Мы обычно запускаем:
msbuild.exe /t:build;publish /p:SqlPublishProfilePath="Local.publish.xml" "c:\workspaces\greg\...\databaseProject.sqlproj"
Это прекрасно работает, так как берет строку подключения из файла local.publish.xml и развертывает проект sql в нашей локальной базе данных.
Я не уверен, как перезаписать файл публикации, чтобы он указывал на другую базу данных
я пробовал
msbuild.exe /t:build;publish /p:SqlPublishProfilePath="Local.publish.xml" /p:TargetConnectionString="Data Source=SomeOtherPC\SQL2012;Integrated Security=True;Pooling=False" "c:\workspaces\greg\...\databaseProject.sqlproj"
но он по-прежнему указывает на (локальный)\sql2012 вместо SomeOtherPC\SQL2012
1 ответ
Создайте для этого другой профиль публикации и заполните его необходимыми сведениями (SomeOtherPC, SQL 2012 и т. Д.).
SomeOtherPC.publish.xml
И передать это как параметр в MSBuild
msbuild.exe /t:build;publish /p:SqlPublishProfilePath="SomeOtherPC.publish.xml"