Структура проекта SSDT после преобразования из проекта VS 2010 DB

После преобразования проектов БД VS 2010 в проекты SSDT (инструменты данных SQL Server)
(и нескольких сравнений с базами данных и между проектами SSDT) ​​я получил следующую структуру папок:

  • Project
    • Data Generation Plans
    • dbo
      • Tables
      • Просмотры
    • Сравнение схем
    • Schema Objects
      • Database Level Objects
        • ...
      • Schemas
        • dbo
          • Programmability
          • Сервисный брокер
          • Синонимы
          • Таблицы
          • Просмотры
    • Scripts
      • Post-Deployment
      • Перед развертыванием
    • Безопасность

Если кажется, что некоторые таблицы и представления находятся под Project\Schema Objects\Schemas\dbo, а некоторые — под Project\dbo.

Собственно вопрос(ы):

  1. Почему там две разные папки?
    (Я подозреваю, что импорт как-то связан с этим.)

  2. Могу ли я объединить файлы в одну папку и если да, то в какую?

  3. Если нет, то в какую папку добавлять новые файлы?

  4. Если я выбрал создание резервной копии во время импорта, где сохраняется информация о резервной копии? - Я хочу иметь возможность удалить его.


Редактировать:

Еще одно несоответствие - файлы под Project\dbo\Tables содержат ключи и ограничения, а файлы под Project\Schema Objects\Schemas\dbo\Tables разделены (таблицы отдельно, ограничения отдельно и т.д.)


person Danny Varod    schedule 13.06.2012    source источник
comment
Я спросил то же самое в MSDN здесь: noreferrer">social.msdn.microsoft.com/Forums/da-DK/ssdt/thread/   -  person Danny Varod    schedule 13.06.2012
comment
Обновление из сравнения схем было отключено, когда источником был обновленный проект. После пересоздания проектов напрямую из базы данных проблема была исправлена.   -  person Danny Varod    schedule 28.06.2012


Ответы (2)


У меня было то же самое, когда я обновлялся с DB Pro 2005 до DB Pro 2008. Я еще не конвертировал в формат SSDT, но в предыдущем случае я просто объединил файлы обратно в старые папки.

Однако в некоторых случаях я просто переделывал проект, если он был достаточно простым или проект базы данных был относительно новым. (Если бы я воссоздал/повторно импортировал, я потерял бы историю файлов в системе контроля версий.).

person TyT    schedule 13.06.2012

Похоже, что импортированные файлы (из VS 2010 dbproj) находятся под Project\Schema Objects\Schemas\dbo\Tables, тогда как все, что добавлено после этого, находится под Project\dbo\Tables.

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

Перемещение таблиц в Project\dbo\Tables и перемещение содержимого спутниковых файлов в основной файл, кажется, работает (вам нужно будет добавить «GO» между командами в файле).

Другой вариант — создать базу данных из sqlproj (путем сравнения базы данных с проектом), удалить старые файлы, а затем воссоздать их в новом формате, сравнив проект с базой данных.

person Danny Varod    schedule 13.06.2012