Как я могу синхронизировать проект базы данных visualstudio с моей базой данных?

11

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

Прямо сейчас я использую SSMS для большей части своей работы по разработке баз данных, и мне нужно вручную использовать инструмент сравнения схем Visual Studio, когда мне нужно синхронизировать схему db и .dbproj. Зачем мне это? потому как :

  • Это единственный способ проверить изменения
  • Это единственный способ применить изменения
  • Невыполнение этого требования приведет к некоторым проблемам слияния при получении файлов (в основном, если «get last» содержит некоторые изменения БД для объектов БД, которые я обновлял без их проверки, слияние не будет инициировано, и его легко отследить какая версия какая)
  • Приятно иметь возможность использовать функции поиска VisualStudio в современной версии схемы
  • Приятно иметь возможность изменять хранимые процедуры из VS (обычно, когда вы переименовали файл), используя результаты поиска.

Помимо автоматизации инструмента сравнения схем, который запускается каждые 5 минут (что вряд ли звучит как «чистое» решение), есть ли способы достичь этого?

Я хотел бы продолжать использовать SSMS, если это возможно, но меня также интересуют способы автоматического распространения изменений, сделанных с помощью «Соединения обозревателя сервера / базы данных» Visual Studio, в .dbproj.

Бранн
источник
Вы нашли способ синхронизации вашего проекта базы данных с SSMS?

Ответы:

4

SQL Server Management Studio - это, прежде всего, инструмент управления SQL Server, поэтому он не обязательно создан для поддержки нужных вам сценариев.

Visual Studio Team System 2008 Database Edition и Visual Studio Team System 2010 Pro / Ultimate включают в себя инструменты разработчика баз данных (VSDB), помогающие тем, кто обладает обширными ресурсами базы данных, интегрировать свою схему базы данных / view / proc / etc. разработка с их разработкой приложений.

VSDB позволяет вам перепроектировать существующие схемы БД в проекты Visual Studio, чтобы вы могли управлять файлами сценариев для каждого элемента схемы. Вы также можете изменить / создать сценарии схемы SQL Server для создания практически всех элементов схемы, поддерживаемых SQL 2005/2008/2010.

VSDB также поддерживает возможность развертывания полных / частичных обновлений схемы БД в пустых / существующих БД, где он выполняет ОГРОМНУЮ работу, пытаясь применить только те изменения, которые необходимы для изменения существующей БД (если таковая имеется), чтобы она отражала структуру исходный проект базы данных VSDB.

VSDB также включает в себя ряд инструментов, помогающих сравнивать схемы между проектами БД и / или БД, а также позволяет анализировать и объединять содержимое таблиц.

Тем не менее, обратите внимание, что, хотя этот набор инструментов поддерживается сегодня, команда была расформирована, и продукт находится в режиме обслуживания. Группа продуктов SQL Server теперь отвечает за создание инструментов для разработчиков и усердно работает над этим :)

Ричард Тернер
источник
1
Я уже пользуюсь функциями VS 2010 db. Но я еще не нашел, как использовать его, чтобы мгновенно изменить и мой проект базы данных, и мой проект базы данных одновременно. Выполнение сравнения схемы после каждой модификации - это слишком много хлопот ... :(
Бранн
Начав смотреть на VSDB вчера, я нахожу ваш последний параграф довольно тревожным. Похоже, я не должен потратить много времени или энергии ...?
Бенджол
1

Есть два способа, которыми я знаю с окончательными функциями VS2010, чтобы сделать это.

  1. Используйте SSMS или другой инструмент для редактирования схемы БД, затем периодически запускайте сравнение схем (конец дня) и затем импортируйте любые изменения схемы в проект БД.
  2. Отредактируйте файлы в вашем проекте БД через VS, а затем создайте пакет развертывания, который либо запускается непосредственно в вашей БД, либо генерирует сценарий для запуска для обновления вашей схемы в БД.
Ryathal
источник
Второе решение, на мой взгляд, лучшее решение. Вы можете настроить процесс развертывания, который занимает всего один клик. Редактирование ваших файлов в Visual Studio автоматически выведет их из-под контроля исходного кода. Я работал с первым методом, но сложно всегда сравнивать схемы. Плюс, по крайней мере для меня, инструмент сравнения схем сильно вылетает в Visual Studio.
Крис Харпер