- PVSM.RU - https://www.pvsm.ru -

Сборка pgModeler

Однажды в студёную зимнюю... день понадобился мне бесплатный инструмент для проектирования баз данных. Такой, который бы ещё и скрипты умел генерировать. Очень нравится Visual Paradigm [1], но стоит он, конечно, как самолёт. Поэтому, вооружившись гуглом и советами знакомых разработчиков, отправился я на поиски.

В итоге набрёл на весьма неплохой инструмент pgModeler [2]. Единственное, не очень понравилось, что sql-скрипты он умеет генерировать только для PostgreSQL [3]. Но т.к. на тот момент (да и сейчас, а то и потом) использовалась эта база данных, то этого инструмента было вполне достаточно.

Умеет он, действительно, много. И таблицы рисовать, и чеки на поля навешивать, и даже функции позволяет писать (которые будут включены в итоговый скрипт при генерации). Подробнее о возможностях можно почитать на сайте [2] проекта.

pgModeler — это Open Source проект, но, чтобы получить бинарники, необходимо заплатить денюжку. Бесплатно доступны только исходники проекта… Которые надо собрать… Используя Qt…

С Qt я сталкивался лишь раз в жизни — на лабах в универе, — да и было это давно и неправда. Видимо, поэтому у меня возникли некоторые сложности при сборке. Ну либо потому, что годных статей нашёл не так много (на самом деле, на тот момент нашёл лишь одну [4]), а документация по сборке [5] весьма скудная.

Что ж, переходим к самой сборке.

Окружение

Система: Windows 7 x64.
Версия pgModeler: 0.9.2-alpha.
Версия PostgreSQL: 10.4.
Qt: Qt 5.6.3 for Windows 32-bit (MinGW 4.9.2).

Сборка

Приведённая инструкция была написана в соответствии с указанным выше окружением.

  1. Скачать исходники. [6]
  2. Скачать PostgreSQL. [7]
  3. Установить в C:PostgreSQL.
    ВАЖНО!
    Установить можно в любую директорию, но тогда придётся поменять путь в файле сборки. Также в пути не должны присутствовать пробелы, иначе сборщик будет пытаться разбить этот путь на несколько.
  4. Скачать Qt [8].
    ВАЖНО!
    Устанавливать нужно 32-х битную версию с MinGW даже на 64-х разрядную систему, т.к. в природе существуют только 32-х битные версии Qt и MinGW, которые умеют работать друг с другом.
  5. Установить Qt в C:QtQt5.6.3.
  6. Добавить в переменную среды Path пути до Qt и MinGW.
    1. Перейти в КомпьютерСвойства системыДополнительные параметры системыПеременные среды…Системные переменныеPathИзменить.
    2. Добавить для:
      qmake — C:QtQt5.6.35.6.3mingw49_32bin.
      mingw32-make — C:QtQt5.6.3Toolsmingw492_32bin.

  7. В исходниках в файле pgmodeler.pri при необходимости изменить пути.
  8. Создать папку C:pgModeler для скомпилированного приложения.
  9. Открыть cmd.
  10. Перейти в папку с исходниками с помощью cd.
  11. Для настройки конфигурационных файлов необходимо выполнить
    qmake PREFIX+=C:/pgModeler -r -spec win32-g++ CONFIG+=release pgmodeler.pro
  12. Для компиляции проекта выполнить
    mingw32-make -j5
  13. Чтобы переместить скомпилированные файлы в C:pgModeler, выполнить
    mingw32-make install
  14. Перейти в папку с приложением
    cd C:pgModeler
  15. Скопировать файлы Qt в папку приложения
    windeployqt pgmodeler.exe
  16. Скопировать следующие DLL в папку приложения:
    • C:PostgreSQL10binlibeay32.dll
    • C:PostgreSQL10binlibiconv-2.dll
    • C:PostgreSQL10binlibintl-8.dll
    • C:PostgreSQL10binlibpq.dll
    • C:PostgreSQL10binlibxml2.dll
    • C:PostgreSQL10binssleay32.dll

  17. Для запуска без Qt в системе скопировать следующие DLL в папку с приложением:
    • C:QtQt5.6.35.6.3mingw49_32binQt5Network.dll
    • C:QtQt5.6.35.6.3mingw49_32binQt5PrintSupport.dll

Заключение

Вот, в общем-то, и всё. Надеюсь, эта статья будет кому-то полезной.


Пытался понять, как собрать данное приложение на основе статьи [4]. Но инструкция немного косячная, местами непонятная и есть лишние действия, например, установка стороннего MinGW (к слову говоря, у меня с Qt 5.6.3 не заработал, из-за чего пришлось отойти от сей статьи и разобраться что вообще и как) или скачивание libxml2, которая есть в PostgreSQL.

Официальная, «очень полезная», «понятная» и весьма «полная» инструкция по сборке данного приложения находится тут [5]. Правда, именно в ней пишут про совместимость Qt и MinGW.

Автор: 1_van

Источник [9]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/postgresql/292682

Ссылки в тексте:

[1] Visual Paradigm: https://www.visual-paradigm.com/

[2] pgModeler: https://pgmodeler.io/

[3] PostgreSQL: https://www.postgresql.org/

[4] одну: https://tomthegeek.blogspot.com/2016/06/how-to-compile-pgmodeler-82-for-win7.html

[5] документация по сборке: https://pgmodeler.io/support/installation

[6] исходники.: https://pgmodeler.io/download

[7] PostgreSQL.: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows

[8] Qt: https://www.qt.io/download/

[9] Источник: https://habr.com/post/423377/?utm_source=habrahabr&utm_medium=rss&utm_campaign=423377