Details
Title | Разработка системы автоматизации поддержки миграций: выпускная квалификационная работа бакалавра: направление 02.03.02 «Фундаментальная информатика и информационные технологии» ; образовательная программа 02.03.02_02 «Информатика и компьютерные науки» |
---|---|
Creators | Мезенцева Полина Александровна |
Scientific adviser | Прокофьев Олег Валерьевич |
Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
Imprint | Санкт-Петербург, 2025 |
Collection | Выпускные квалификационные работы ; Общая коллекция |
Subjects | миграции ; Liquibase ; changeset ; changelog ; change type ; JavaScript ; VS Code ; migrations |
Document type | Bachelor graduation qualification work |
File type | |
Language | Russian |
Level of education | Bachelor |
Speciality code (FGOS) | 02.03.02 |
Speciality group (FGOS) | 020000 - Компьютерные и информационные науки |
DOI | 10.18720/SPBPU/3/2025/vr/vr25-2963 |
Rights | Доступ по паролю из сети Интернет (чтение) |
Additionally | New arrival |
Record key | ru\spstu\vkr\37215 |
Record create date | 9/19/2025 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
Group | Anonymous |
---|---|
Network | Internet |
Данная работа посвящена исследованию возможностей автоматизации процессов, направленных на улучшение пользовательского опыта при написании миграций в Liquibase, и разработке плагина для реализации данных решений по поддержке создания наборов изменений. Задачи, которые решались в ходе исследования: 1. Изучение процесса работы с системой управления миграциями Liquibase. 2. Выявление недостатков, связанных с ручным подходом к созданию наборов изменений. 3. Анализ существующих инструментов и плагинов для оценки их функциональных возможностей и ограничений. 4. Разработка плагина для автоматизации процесса создания миграций в Liquibase. Основой проведенной работы послужила система управления миграциями Liquibase, в которой была проведена значительная часть анализа: изучены форматы описания миграций, принципы организации структуры наборов изменений, а также практические особенности их применения. Изучена предметная область с целью выявления основных проблем, возникающих при ручном создании миграций, а также выполнен обзор существующих инструментов автоматизации. В результате была разработана архитектура и реализовано решение в виде плагина для текстового редактора Visual Studio Code. Функциональность плагина включает в себя команды, обеспечивающие контекстно-зависимые Intellisense-подсказки для XML, YAML и JSON форматов файлов, генерацию SQL-скриптов на основе changeset-файлов, а также методы для создания файлов changelog и changeset. Реализована система конфигурации, позволяющая настраивать шаблоны именования, форматы файлов и структуру организации миграций, включая объектно-ориентированный, релизно-ориентированный и пользовательский подходы. Для реализации поставленных задач в рамках работы были применены следующие технологии: язык программирования JavaScript, среда разработки Visual Studio Code, система управления миграциями Liquibase, среда выполнения Node.js, а также библиотека Visual Studio Code Extension API. Контроль версий осуществлялся с помощью Git и GitHub.
This work is devoted to exploring the possibilities of automating processes aimed at improving the user experience when creating migrations in Liquibase, as well as to the development of a plugin for supporting the generation of changesets. The research set the following goals: 1. Studying the workflow of the Liquibase migration management system. 2. Identifying drawbacks associated with the manual creation of changesets. 3. Analyzing existing tools and plugins to assess their functionality and limitations. 4. Developing a plugin to automate the migration support process in Liquibase. The core of this work was based on the Liquibase migration management system, where a significant part of the analysis was carried out: the formats for describing migrations were studied, as well as the principles of organizing changeset structures and practical aspects of their use. The subject area was examined to identify key issues arising during manual migration creation, along with a review of existing automation tools. As a result, a system architecture was designed, and a solution was implemented in the form of a plugin for the Visual Studio Code text editor. The plugin’s functionality includes commands that provide context-aware Intellisense suggestions for XML, YAML, and JSON migration files, automated SQL script generation based on changeset files, and tools for creating and managing changelog and changeset files. A configuration system has been implemented that allows customization of naming templates, file formats, and the structure for organizing migrations, including object-oriented, release-oriented, and custom approaches. To accomplish the assigned tasks within the project, the following technologies were used: JavaScript programming language, Visual Studio Code development environment, Liquibase migration management system, Node.js runtime environment, and the Visual Studio Code Extension API library. Version control was carried out using Git and GitHub.
Network | User group | Action |
---|---|---|
ILC SPbPU Local Network | All |
|
Internet | Authorized users SPbPU |
|
Internet | Anonymous |
|
Access count: 0
Last 30 days: 0