Схема редактирования базы данных Visual Studio 2010 сравнивает, где target является dbproj

Я использую визуальную студию версии 2010 студии и запускаю сравнение схемы с экземпляром базы данных SQL для синхронизации новых объектов в базе данных, которая еще не существует в моем проекте (dbproj). Мое решение содержит много проектов, некоторые из которых ссылаются друг на друга через ссылки на базы данных. Когда я пишу обновленную версию моей схемы по сравнению с моим целевым проектом, любые ссылки на объекты в других моих проектах добавляются как жесткие ссылки и не используют переменные sqlcmd, которые устанавливаются при добавлении ссылок на базы данных.

Это приводит к тому, что у моего решения есть предупреждения и ошибки, пока я вручную не заменю жесткие ссылки для переменных sqlcmd. Я обнаружил, что могу переделать ссылки на базы данных, которые могут выбрать все жесткие ссылки в проекте, но это все еще громоздко. Есть ли способ использовать существующий набор переменных sqlCmd, определенных для моего проекта, так что обновленные записываются в мой проект с использованием используемых ссылок?

Ответы

Ответ 1

Это просто мысль, но мы никогда не вносим прямых изменений в базу данных и не используем наш проект для создания против db для создания развертывания script. Используя проект в качестве мастера всех знаний, мы считаем, что это очень хорошо работает для нас.

Мы разветвляемся для создания наших тестовых сред, затем объединяем проект при развертывании.

Что касается ссылок, мы обнаружили, что ссылка на файл dbmeta вместо фактической базы данных также полезна, поскольку она делает все проекты более переносимыми.

Ответ 2

Мое решение не совсем то, что вы хотите сделать, но оно может помочь. Когда я сталкиваюсь с подобными проблемами, я обычно создаю (temp) DB для сравнения схемы и использую ее вместо моего проекта..