Как ограничить запуск сценария после развертывания только один раз в проекте базы данных Visual Studio

У нас есть сценарий пост-развертывания в нашем проекте базы данных visual studio. Он заполняет таблицы поиска данными. Проблема в том, что каждый раз, когда мы меняем схему и генерируем скрипт обновления, скрипт после развертывания добавляется в конец скрипта развертывания. Есть ли способ пометить определенные сценарии после развертывания в VS2010 для запуска только один раз?

1 ответ

Решение

Отказ от ответственности: я из программного обеспечения ReadyRoll, которое делает коммерческий инструмент для развертывания баз данных.

Ни используемая вами система проектов DataDude, ни новые проекты SSDT не поддерживают одноразовые сценарии. Тот факт, что эти проекты носят декларативный характер, означает, что, если инструмент не имеет встроенной вспомогательной совокупности справочных таблиц с данными (чего в настоящее время нет), операцию можно выполнить только с использованием сценария "всегда запускать" после развертывания.

Если вы еще не используете его, вы можете рассмотреть возможность использования MERGE заявление о развертывании данных поиска, если вы развертываете на SQL Server 2008 или выше. Это дает вам несколько декларативный способ заполнения таблиц, так как вам не нужно проверять, вставлены ли данные перед развертыванием.

Если вы хотите попробовать систему проектов, которая запускает каждый сценарий только один раз, вы можете рассмотреть императивный подход (иногда называемый миграциями). Существует множество OSS, которые делают это, но вы можете рассмотреть ReadyRoll из-за того, что он интегрируется с Visual Studio: http://ready-roll.com/

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