Однажды в студёную зимнюю... день понадобился мне бесплатный инструмент для проектирования баз данных. Такой, который бы ещё и скрипты умел генерировать. Очень нравится Visual Paradigm, но стоит он, конечно, как самолёт. Поэтому, вооружившись гуглом и советами знакомых разработчиков, отправился я на поиски.
В итоге набрёл на весьма неплохой инструмент pgModeler. Единственное, не очень понравилось, что sql-скрипты он умеет генерировать только для PostgreSQL. Но т.к. на тот момент (да и сейчас, а то и потом) использовалась эта база данных, то этого инструмента было вполне достаточно.
Умеет он, действительно, много. И таблицы рисовать, и чеки на поля навешивать, и даже функции позволяет писать (которые будут включены в итоговый скрипт при генерации). Подробнее о возможностях можно почитать на сайте проекта.
pgModeler — это Open Source проект, но, чтобы получить бинарники, необходимо заплатить денюжку. Бесплатно доступны только исходники проекта… Которые надо собрать… Используя Qt…
С Qt я сталкивался лишь раз в жизни — на лабах в универе, — да и было это давно и неправда. Видимо, поэтому у меня возникли некоторые сложности при сборке. Ну либо потому, что годных статей нашёл не так много (на самом деле, на тот момент нашёл лишь одну), а документация по сборке весьма скудная.
Что ж, переходим к самой сборке.
Система: Windows 7 x64.
Версия pgModeler: 0.9.2-alpha.
Версия PostgreSQL: 10.4.
Qt: Qt 5.6.3 for Windows 32-bit (MinGW 4.9.2).
Приведённая инструкция была написана в соответствии с указанным выше окружением.
Вот, в общем-то, и всё. Надеюсь, эта статья будет кому-то полезной.
Пытался понять, как собрать данное приложение на основе статьи. Но инструкция немного косячная, местами непонятная и есть лишние действия, например, установка стороннего MinGW (к слову говоря, у меня с Qt 5.6.3 не заработал, из-за чего пришлось отойти от сей статьи и разобраться что вообще и как) или скачивание libxml2, которая есть в PostgreSQL.
Официальная, «очень полезная», «понятная» и весьма «полная» инструкция по сборке данного приложения находится тут. Правда, именно в ней пишут про совместимость Qt и MinGW.
В итоге набрёл на весьма неплохой инструмент pgModeler. Единственное, не очень понравилось, что sql-скрипты он умеет генерировать только для PostgreSQL. Но т.к. на тот момент (да и сейчас, а то и потом) использовалась эта база данных, то этого инструмента было вполне достаточно.
Умеет он, действительно, много. И таблицы рисовать, и чеки на поля навешивать, и даже функции позволяет писать (которые будут включены в итоговый скрипт при генерации). Подробнее о возможностях можно почитать на сайте проекта.
pgModeler — это Open Source проект, но, чтобы получить бинарники, необходимо заплатить денюжку. Бесплатно доступны только исходники проекта… Которые надо собрать… Используя Qt…
С Qt я сталкивался лишь раз в жизни — на лабах в универе, — да и было это давно и неправда. Видимо, поэтому у меня возникли некоторые сложности при сборке. Ну либо потому, что годных статей нашёл не так много (на самом деле, на тот момент нашёл лишь одну), а документация по сборке весьма скудная.
Что ж, переходим к самой сборке.
Окружение
Система: Windows 7 x64.
Версия pgModeler: 0.9.2-alpha.
Версия PostgreSQL: 10.4.
Qt: Qt 5.6.3 for Windows 32-bit (MinGW 4.9.2).
Сборка
Приведённая инструкция была написана в соответствии с указанным выше окружением.
- Скачать исходники.
- Скачать PostgreSQL.
- Установить в C:\PostgreSQL\.
ВАЖНО!
Установить можно в любую директорию, но тогда придётся поменять путь в файле сборки. Также в пути не должны присутствовать пробелы, иначе сборщик будет пытаться разбить этот путь на несколько.
- Скачать Qt.
ВАЖНО!
Устанавливать нужно 32-х битную версию с MinGW даже на 64-х разрядную систему, т.к. в природе существуют только 32-х битные версии Qt и MinGW, которые умеют работать друг с другом.
- Установить Qt в C:\Qt\Qt5.6.3\.
- Добавить в переменную среды Path пути до Qt и MinGW.
- Перейти в Компьютер\Свойства системы\Дополнительные параметры системы\Переменные среды…\Системные переменные\Path\Изменить.
- Добавить для:
qmake — C:\Qt\Qt5.6.3\5.6.3\mingw49_32\bin.
mingw32-make — C:\Qt\Qt5.6.3\Tools\mingw492_32\bin.
- В исходниках в файле pgmodeler.pri при необходимости изменить пути.
- Создать папку C:\pgModeler для скомпилированного приложения.
- Открыть cmd.
- Перейти в папку с исходниками с помощью cd.
- Для настройки конфигурационных файлов необходимо выполнить
qmake PREFIX+=C:/pgModeler -r -spec win32-g++ CONFIG+=release pgmodeler.pro
- Для компиляции проекта выполнить
mingw32-make -j5
- Чтобы переместить скомпилированные файлы в C:\pgModeler, выполнить
mingw32-make install
- Перейти в папку с приложением
cd C:\pgModeler
- Скопировать файлы Qt в папку приложения
windeployqt pgmodeler.exe
- Скопировать следующие DLL в папку приложения:
- C:\PostgreSQL\10\bin\libeay32.dll
- C:\PostgreSQL\10\bin\libiconv-2.dll
- C:\PostgreSQL\10\bin\libintl-8.dll
- C:\PostgreSQL\10\bin\libpq.dll
- C:\PostgreSQL\10\bin\libxml2.dll
- C:\PostgreSQL\10\bin\ssleay32.dll
- Для запуска без Qt в системе скопировать следующие DLL в папку с приложением:
- C:\Qt\Qt5.6.3\5.6.3\mingw49_32\bin\Qt5Network.dll
- C:\Qt\Qt5.6.3\5.6.3\mingw49_32\bin\Qt5PrintSupport.dll
Заключение
Вот, в общем-то, и всё. Надеюсь, эта статья будет кому-то полезной.
Пытался понять, как собрать данное приложение на основе статьи. Но инструкция немного косячная, местами непонятная и есть лишние действия, например, установка стороннего MinGW (к слову говоря, у меня с Qt 5.6.3 не заработал, из-за чего пришлось отойти от сей статьи и разобраться что вообще и как) или скачивание libxml2, которая есть в PostgreSQL.
Официальная, «очень полезная», «понятная» и весьма «полная» инструкция по сборке данного приложения находится тут. Правда, именно в ней пишут про совместимость Qt и MinGW.
AMDmi3
В общем случае, конечно, не нужно ничего собирать, а можно поставить готовый пакет из репозитория своего дистрибутива:
https://repology.org/metapackage/pgmodeler/versions
Wilk
Странный у Вас общий случай, не включающий Windows и MacOS.
AMDmi3
MacOS там есть. А о странностях в статье о собственноручной сборке софта я не уверен что уместно заявлять.