metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-11-01 11:22 pm

Гуе-визардо-мышедизайнерская разработка софта

А вот скажите, как вы относитесь к инструментам, в которых для подключения, например, к БД, нужно пройти 5-10 экранов визарда? Ну или там поработать полчасика в неудобном мышедизайнере.
С одной стороны, для начинающих это сильно снижает порог входа - нажимаешь "сделать чо нибудь", оно задает кучу вопросов и это чо нибудь делает. С другой стороны - внутренности либ для подобных инструментов чуть более чем всегда совершенно не
пригодны для обычной разработки - "чтобы создать что-то из кода, надо выполнить страницу неадекватных вуду заклинаний".
Я подобные вещи стараюсь не использовать, благо, разработчики все делают для того, чтобы это было неудобно и медленно для сколько-нибудь сложных задач и подобное ретроградство и луддизм находят понимание среди коллег, особенно тех, кто ничем, кроме текста и его редакторов, принципиально не пользуется.

[identity profile] berezovsky.livejournal.com 2013-11-05 02:09 am (UTC)(link)
Да, так удобно.
SQL-файлики хранятся в контроле версий и именуются YYYYMMDD_Description, в каждом - создание табличек, раздача полномочий, создание процедур и т.п.
В каждом последующем может быть добавление полей, изменение процедур и т.д.
При установке смотришь, какие скрипты ещё не наложены и запускаешь последовательно.
Тогда у каждого клиента будет версия базы, соответствующая определённой версии софтины.
Хуёво только, что у MS нету стандартного механизма для таких вещей, всё приходится руками делать, пихать в setup и прочая.
После выхода 2010 студии на форумах смеялись ещё. Мол, да, подключение к базе, схема - всё есть. А как на практике быть? Ни тебе развёртывания автоматического, ни диффов. Кто же в жизни из студии к продакшену подключается? В таком духе.

[identity profile] jakobz.livejournal.com 2013-11-05 07:54 am (UTC)(link)
Да, это удобно, и это - единственный мне известный способ по-человечески засунуть базу в контроль версий и вообще жить с БД без бардака.

Действия все автоматизируются и сводятся к выполнению скриптика. Я делал такую тулзу, да и многие себе что-то такое приделывают.

Хранимки и прочие вьюхи я хранил в отдельных файликов - и история есть, и не надо через diff-скрипты проводить.

Стандартной такой штуки для MSSQL нет, и это печально, да. Впрочем, для других баз я тоже такого не видел.

Самый минималистичный вариант из тех что я видел - это тупо сишный препроцессор, который склеивает include-ами кучу скриптов.