FAQ-22-RU: Сравнение dbProjector и SQL Server Data Tools (SSDT)  

  RSS

vvit1
DbpTeam
Joined: 2 years  ago
Posts: 20
2017-02-14 22:25  

Краткий список преимуществ dbProjector:

  • SSDT не поддерживает работу с данными таблиц. Одна схема БД без справочных и/или данных для инициализации (например, поддерживаемых приложением типов отчетов и т.д.) - этого явно недостаточно в большинстве случаев. При развертывании новой БД всегда есть необходимость что-то дополнительно придумывать для заливки различных справочников и т.д. dbProjector имеет развитые средства дистрибуции не только самой схемы БД но и данных, которые в ней могут содержаться. Плюс предлагаются гибкие инструменты по дополнению этих данных в апдейтах.
  • При синхронизации схемы БД с проектом в SSDT можно только выбирать только весь объект целиком, например можно взять всю таблицу целиком и нельзя проапдейтить только несколько колонок от всей таблицы например. В dbProjector можно свободно выбирать для синхронизации любые части от целого объекта.
  • Что-бы работать с SSDT вам необходимо на месте где вы хотите развертывать БД иметь весь набор монструозных инструментов: MSVS, MSSQLSMS, IIS и т.д. dbProjector это небольшой дистрибутив, который легко ставиться везде где может работать .NET. Если вам нужно только поставить или обновить БД, то dbProjector предлагает отдельный инструмент, который не требует установки и в котором можно только нажимать Next как в любом нормальном инсталляторе для обычных приложений.
  • SSDT – это только Windows и только MS SQL Server. dbProjector – также легко работает на Linux и поддерживает как MS SQL Server так и PostgreSQL.
  • MS – большая бюрократизированная машина. Если вас что-то не устраивает в SSDT, или хотели-бы какое-то дополнение, вы вряд ли сможете как-то на это повлиять. dbProjector – открыт для критики и пожеланий 🙂

 

Для порядка перечислим и что есть такого чего нет в dbProjector:

  • Редактирование объектов из IDE. В IDE dbProjector можно только изменить текст функции или хранимки. Предполагается, что все изменения объектов будут производиться с развернутым экземпляром БД и затем выборочно импортироваться в проект.
  • Рефакторинги. В SSDT можно например переименовать колонку и все это будет запоминаться в неких файлах с расширением ".refactorlog" в XML формате. Весьма неоднозначный инструмент т.к. позже из этой простыни XML понять что же будет происходить на самом деле практически нереально. Проще, в таких случаях, самому писать Pre-Deployment и Post-Deployment скрипты как это аналогично сделано и в dbProjector.
Edited: 2 years  ago

ReplyQuote
  
Working

Please Login or Register