Развертывание контента из базы данных-проекта в другую базу данных

У меня есть определение сборки в TFS, которое создает проект базы данных в Visual Studio. Выходные данные - это dbschema и некоторые другие файлы. С помощью этой базы данных я развернул эту базу данных на другом сервере с помощью vsdbcmd. Это прекрасно работает для развертывания структуры / схемы базы данных.

Можно ли также развернуть данные / содержимое исходной базы данных в другой базе данных? Или также поместить db-контент в выходные данные из определения сборки?

Спасибо

2 ответа

Решение

Вы можете включить операторы INSERT в сценарий PostDeploy sql в проекте БД, чтобы сгенерировать любые необходимые данные.

Если вы хотите генерировать эти операторы INSERT в массовом порядке, вы можете использовать инструмент сравнения данных, чтобы сравнить БД с данными, без данных, и он сгенерирует все необходимые вам операторы INSERT, которые вы сможете затем скопировать и вставить в сценарий PostDeployment.

Мы используем SQL Merge-scripts (файлы сценариев с MERGE-stmts) в наших сценариях после развертывания, чтобы обновлять таблицы поиска в базах данных. Создайте файл сценария для каждой таблицы поиска (слияние stmt) и создайте ссылку на эти файлы из сценария после развертывания. Иногда может потребоваться сбросить отношения FK перед загрузкой данных в таблицы поиска и загрузить их в определенном порядке. Мы создали два сценария, один из которых запускается до сценариев слияния, удаляет FK, а второй - после сценариев слияния воссоздает FK. У нас отлично работает.

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