ДжазТим — надежный технологический партнер

Agile разработка ПО на Java

Приложение для управления обновлениями баз данных

Краткое описание проекта

Приложение обеспечивает следующий функционал:

  • Выполнение операций по заполнению базы данных.
  • Получение параметров из произвольного файла конфигурации (по умолчанию config.properties).
  • Получение схемы данных из произвольной директории.

Процедура по заполнению базы данных выполняется по определенным правилам, описанным в схеме данных Liquibase. Заполнение базы данных может выполняться в двух вариантах: до определенного тега схемы изменений либо полного заполнения базы по схеме.

Ведется лог процессов. Лог содержит как информацию, передаваемую на стандартный вывод, так и служебные сообщения об исключительных ситуациях. Каждый запуск приложения порождает отдельный файл лога.

Результат работы приложения выводится в консоли текстовой строкой статуса с указанием времени работы приложения и количества ошибок выполнения.

Состав и структура приложения

  • Console application, interface, services.
  • Главный модуль LiquibaseUpdater.
  • Вспомогательные модули: Config, CommandLineResolver, LiquibaseManager, LiquibaseService, ExceptionLogger.
  • Third-part библиотеки (Spring, Liquebase, Apache Commons).

image01

Архитектура приложения

Архитектура приложения

Технологии

Liquibase, Spring, Apache-cli, JUnit, DBCP, MySQL, Oracle, Maven, Maven-jar, Maven-shade, Jacoco, XML, Liquibase log framework, Git, Jira, Confluence.

Особенности проекта

  • Распределённая команда — 3 страны, 3 города.
  • Scrum/Agile — ежедневные скрам-митинги.
  • В рамках задачи выполнялась реализация функционала, багфиксинг, покрытие тестами.

Результат проекта

Реализована возможность контроля по обновлениям версий баз данных с помощью приложения LiquibaseUpdater.

Достижения компании на проекте

  • Покрытие тестами проверялось с помощью Jacoco.
  • Внедрены стандарты code-style и требования к качеству кода посредством Sonar.
  • Внедрено Unit-тестирование.

Примеры

Пример для накатки базы

Полное обновление: ./liquibase_updater.bat  -verbose  -install=d:/doc/changelog/rollback2tag/master.xml

Обновление до тэга:  ./liquibase_updater.bat -verbose -config=config.properties -install=d:/doc/changelog/rollback2tag/master.xml -tag=version_0.1.0

Пример для роллбека базы

Полный откат:  ./liquibase_updater.bat -verbose -force -config=config.properties -rollback=d:/doc/changelog/rollback/master.xml

Откат до тэга:  ./liquibase_updater.bat -verbose -config=config.properties -rollback=d:/doc/changelog/rollback2tag/master.xml -tag=version_0.1.0

Откат всей базы требует дополнительного ключа -force.

Пример содержимого лога

log

Свяжитесь с нами, чтобы обсудить Ваш IT-проект

    Имя *

    Название компании

    Email *

    Телефон

    Чем мы можем Вам помочь? *

    * – Обязательные поля для заполнения