Visual Studio/SQL: можно ли использовать сценарии после развертывания для конкретных профилей?

В настоящее время у меня есть проект базы данных SQL Server и два профиля для двух разных клиентов.

Во-первых, у нас немного разные правила базы данных для каждого клиента, и я хотел бы, чтобы они автоматически создавались в сценарии после развертывания.

На что я надеялся, так это на какой-то способ иметь профиль «если», где определенные команды выполняются для того или иного профиля, но я ничего не вижу о том, как это сделать. Есть ли способ или у кого-нибудь есть альтернативный способ сделать это в решениях для баз данных?


person Tim Almond    schedule 05.10.2012    source источник


Ответы (1)


Предполагая, что ваши клиенты могут безопасно видеть данные друг для друга, это должно работать. В противном случае вам, возможно, придется отправить им отдельные сценарии для запуска после выпуска.

Создайте переменную, которая будет использоваться при выпуске кода (например, «DeployType»), и используйте что-то подобное в своих сценариях после развертывания:

IF ( '$(DeployType)' = 'ClientA')
BEGIN
PRINT 'Running Post-Deploy Scripts for Client A'

:r .\ClientA.sql

END
IF ( '$(DeployType)' = 'ClientB')
BEGIN
PRINT 'Running Post-Deploy Scripts for Client B'

:r .\ClientB.sql

END

:r .\Common.sql
person Peter Schott    schedule 01.05.2013