Загрузка dbProjector Version:2.0 Build:175

Загрузка dbProjector:

Для работы dbProjector требуется:

  • .NET Framework 4.5 или старше для Windows.
  • Mono 4.6 или старше для OC семейства Linuх.

Что нового:

  • Поддрежка типа NUMERIC для MSSQL
  • Исправлен баг с представлением значения типа bit для MSSQL

Загрузка dbProjector Version:2.0 Build:173

Загрузка dbProjector:

Для работы dbProjector требуется:

  • .NET Framework 4.5 или старше для Windows.
  • Mono 4.6 или старше для OC семейства Linuх.

Представленые инсталяторы имеют возможность выбра опции установки необходимой версии .net. В случае использования сборки без инсталятора необходимо убедиться что .net установлен в системе.

Discuss →

Демонстрационная база данных v1.0.0.1

Источником для создания данной демонстрационной БД послужила база, опубликованная компанией Postgres Professional под лицензией PostgreSQL. Детальное описание БД можно найти в pdf.

Это с одной стороны не сильно примитивная БД, а с другой не перегружена несущественными для демонстрационных целей деталями. Спасибо им за этот труд.

На основе данной БД были созданы проекты для dbProjector:

С помощью данных проектов можно в ходе натурных экспериментов детальнее ознакомится с возможностями dbProjector по генерации DDL и DML для манипуляций со схемой и данными соответственно.

Если необходимо просто установить БД на СУБД можно скачать готовый установочный пакет для dbpDeploy:

 
Discuss →

FAQ-23-RU: Нигде на кольюмах нет Collation

Q. На кольюмах нигде нет Collation. Why?

A. Я участвовал в разработке большого количества различных БД. И ни РАЗУ не было такого, чтобы Collation на кольюме отличный от Database Default не являлся ошибкой. Одним способом выстрелить себе в ногу меньше с dbProjector.

Discuss →

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

Краткий список преимуществ 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.

Написать еще больше достоинств, а также указать на недостатки вы можете сами на форуме dbProjector.

Discuss →

FAQ-21-RU: Когда я деплою проект PostgreSQL гранты юзера накатываются до создания самого юзера и деплой не проходит

Q. Когда я деплою проект PostgreSQL гранты юзера накатываются до создания самого юзера и деплой не проходит, WTF?

А. Короткий ответ: Завести роли и перевесить все гранты на роли. И юзеров уже включать только в роли.

Да, юзеры в PG это просто алиас от роли (здесь бы можно сказать несколько критических слов в адрес системы грантов PG, но оставим это). Но это как в плюсах, если ими пользоваться неосторожно, то скорой всего рано или поздно наступите на свою же мину. Здесь мне кажется, что обнаружить через год разработки что я не могу удалить каких-то неактуальных юзеров потому что на них висят непонятные разрозненные гранты, или того хуже они прямо владеют какими-то объектами в БД – это просто ящик динамита. Мне кажется хороший инструмент должен предостерегать от таких подобных действий.

Discuss →

FAQ-20-RU: Как сделать чтобы при деплое не удалялись объекты созданные клиентами самостоятельно?

Q. Как сделать чтобы при деплое не удалялись объекты созданные клиентами самостоятельно?

A. Такие объекты нужно добавить в исключения «Project → Project Properties → Ignore». Можно добавлять по маске.

Discuss →