SSDT Практическое руководство. Развертывание.dacpac, игнорирование отбрасываемых столбцов на цели.

Я использую проект базы данных в Visual Studio.

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

Как я могу сделать при развертывании.dacpac те объекты, которые не являются частью моей схемы, не исключены?

Важный:

Set DropObjectsNotInSource = FALSE не работает для столбцов таблицы.

РЕДАКТИРОВАТЬ

Эд, пожалуйста, посмотри, делаю ли я что-то не так:

using (DacPackage dacPackage = DacPackage.Load(DacPacFileName))
{
     var dacServices = new DacServices(ConnectionString);

     var dacOptions = new DacDeployOptions
     {
         AdditionalDeploymentContributorArguments = "SqlPackageFilter=KeepTableColumns(*)"
     };

     dacServices.Deploy(dacPackage, NomeBancoDados, true, dacOptions);
}

'*' В табличном фильтре "ВСЕ СТОЛЫ"?

Я тоже попробовал имя таблицы, но она не сработала.

1 ответ

Решение

Я написал это для этого сценария:

https://agilesqlclub.codeplex.com/

Вы можете "Сохранить", который развертывает объекты, если они не существуют, но не развертывает, если есть изменения, или "Игнорировать", чтобы полностью игнорировать.

Вы можете сделать это по типу или имени (регулярное выражение)

издание

Другие вопросы по тегам