Сегодня мне понадобилось накидать модель реляционной базы данных для одного проекта. А так как я в последние время сижу под Ubuntu то выбор софта ограничивался этой платформой. А выбор, должен вам сказать, не большой, все что я смог найти и стоило бы внимания это:
DBDesign4 вполне справляется со своими задачами, но его интерфейс желает лучшего – непропорциональные, временами большие GUI элементы.
Второе, что я решил попробовать это MySQL Workbench. Продукт еще молодой и под Linux находится в стадии alfa. Под Ubuntu 64 я не нашел готового пакета, потому пришлось собирать из исходников.
Сначала нам понадобятся такие пакеты:
sudo apt-get install build-essential autoconf automake libtool libzip-dev libxml2-dev libsigc++-2.0-dev libglade2-dev libgtkmm-2.4-dev libglu1-mesa-dev libgl1-mesa-glx mesa-common-dev libmysqlclient15-dev uuid-dev liblua5.1-dev libpixman-1-dev libpcre3-dev libgnome2-dev libgtk2.0-dev libpango1.0-dev libcairo2-dev python-dev
Потом скачиваем сам MySQL Workbench, распаковываем и запускаем конфигуратор сборки:
./autogen.sh
Выполняем саму сборку
make install DESTDIR=/home/%USERNAME%/mysql-workbench
После успешной компиляции запускаем MySQL Workbench командой
./mysql_workbench
А теперь пара личных впечатлений: во-первых, я долго подбирал зависимости между пакеты (а их не мало) пока не наткнулся на статью в блоге разработчиков MySQL, во-вторых сама компиляция заняла около 20 минут и ~1,3 Гб на винте и в третьих после того как я накидал модель и сохранил результат, у меня не сохранилась позиция таблиц, т.е. они все слиплись одна на другой в левом верхнем углу.
После этого я решил запустить под Wine виндовую версию MySQL Workbench, но не тут-то было :) оно захотело .NET, который я попробовал заменить Mono, но у меня он тоже сразу не завелся.
Результат таков:
1,5 дня (в следующий раз наверняка будет быстрее, уже “шишки” набиты :) ) убито на установку MySQL Workbench, который в конце концов нормально не заработал;
под Windows была скачана родная версия, установлена в течении двух минут и дальше я уже работал над проектом… Каждый для себя делает выводы сам.