Pull to refresh

Версионная миграция структуры базы данных: еще один подход

Reading time7 min
Views5.6K
Прочитал интересную и полезную статью (1) — и захотел поделиться собственным опытом. В нашей фирме за 12 лет работы с одной (своей, Oracle-ориентированной) программой у сотен клиентов накоплен богатейший материал на тему апгрейда структуры БД.

Первоначально мы предполагали, что достаточно хранить в каждой БД номер версии последнего апгрейда и накатывать скрипты инкрементально, поднимая версию до нужной. Такая методика успешно использовалась в предыдущей версии нашей программы, работавшей с СУБД Paradox. Но с СУБД Oracle все пошло не так, у каждого клиента было собственное видение, какой должна быть его БД, и рассинхронизация версий стала неизбежным злом. Привычная методика апгрейдов по версиям стала постоянно приводить к ошибкам, на которые уже никто и не обращал внимание, и рассогласование структур продолжалось несколько лет. В итоге у каждого клиента оказалась собственная, не идентичная никакой другой, структура БД, а клиентская часть программы как-то должна была с этим бороться.

В какой-то момент руководство поручило вплотную заняться проблемой апгрейдов БД ведущему программисту фирмы (мне) — человеку творческому, предпочитающему потратить больше времени, но избежать рутинной работы. И тогда был разработан инструмент, позволивший практически свести на нет различия в структурах БД у всех клиентов. Об этой технологии я и хочу рассказать мировому сообществу.

Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments50

Опыт использования flatten-maven-plugin для упрощения версионирования в maven-проектах

Reading time5 min
Views9.5K

О нас


В 1С мы разрабатываем не только платформу 1С: Предприятие на С++ и JavaScript, но и приложения на Java – в частности новую среду разработки Enterprise Development Tools на базе Eclipse и сервер глубоко интегрированного с платформой мессенджера – Системы Взаимодействия.

Вступление


В качестве системы сборки Java-приложений чаще всего мы используем maven, и в этой небольшой статье хотели бы рассказать об одной из проблем, с которой пришлось столкнуться в процессе организации разработки, и о подходе, позволившем эту проблему преодолеть.
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments4

Зачем при изменении сборки менять её версию или как сломать Visual Studio одной командой

Reading time4 min
Views5.5K

При выпуске нового релиза сборки её версию обычно меняют. Это особенно актуально, если разрабатывается библиотека, от которой зависят другие проекты. Но что, если этого не делать? Предлагаю вашему вниманию небольшую историю о проблемах с библиотеками от Microsoft.

Читать далее
Total votes 30: ↑30 and ↓0+30
Comments13

Software Configuration Management // Контроль версий

Reading time12 min
Views19K
И снова здравствуйте.

Продолжаю публиковать цикл статей о SCM — управлении конфигурацией ПО.
3 предыдущие заметки можно прочитать в этом же блоге.

Сегодня расскажу о том, с чем работает большинство читателей — о контроле версий.

Disclaimer


Далее будут описаны основные техники, реализованные в подавляющем большинстве систем контроля версий. Как они реализуются в приложениях, которые использует читатель, оставим на откуп многочисленным руководствам пользователя, how-to, FAQ и прочим документам, коих можно найти без труда. Главное – понять, по каким принципам и зачем оно работает именно так.

Всё понятно, продолжай
Total votes 30: ↑28 and ↓2+26
Comments27

прикручиваем плагины от Idea к WebIde

Reading time2 min
Views861
Сегодня успешно закончив написание одного маленького, но очень полезного лично для меня плагина к IDEA, расстроился из-за невозможности прикрутить его к WebIDE, хотя в Idea 7/8/9 полет нормальный.
И вот, взрустнув и занявшись сравнительным анализом «старых» и «новых/кошерных» плагинов, обнаружил способ прикрутить к JetBrains WebIDE почти любой плагин от IDEA, коим и спешу поделиться :)
Читать дальше →
Total votes 9: ↑6 and ↓3+3
Comments7

Инструмент автоматизации управления версиями

Reading time3 min
Views14K
Всем привет!

Всегда было интересно, что такое версии продукта и как ими управлять? Как автоматизировать управление версиями разработки? Прошу под кат.


Читать дальше →
Total votes 20: ↑16 and ↓4+12
Comments2

Автоматическое Обновление Версии Прошивки

Level of difficultyEasy
Reading time6 min
Views4K

В программировании микроконтроллеров новые сборки появляются каждый день.

Какие-то сборки уходят в релиз, а какие-то в циркулируют на разных электронных платах внутри предприятия.

Как отличать прошивки между собой? Как понять, какая прошивка новее, а какая старее?

Проблема в том, что вручную обновлять номер версии прошивки очень утомительно.

В тексте представлен механизм автоматического увеличения версии прошивки

Подробности...
Total votes 17: ↑10 and ↓7+3
Comments51