2010-07-22 6 views
14

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

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

ответ

0

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

1

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

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

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