aary 

Попробовал создавать БД при помощи Liquibase 5.0.2

by aary


Posted on четверг апреля 09, 2026 at 05:45PM in ЖЖ


Технический отчёт за сегодня

1. Настройка развёртывания приложения

  • Устранена ошибка сборки, связанная с несуществующей версией родительского POM Spring Boot.
  • Настроен Tomcat Manager API для удалённого деплоя WAR-файла через HTTP-запросы.
  • Решена проблема доступа к Manager API (403), вызванная ограничениями по IP в конфигурации контекста Tomcat.
  • Создан скрипт предварительной инициализации контейнера для копирования стандартной конфигурации Tomcat и веб-приложения Manager.

2. Подключение к базе данных

  • Настроена сетевая связанность между Docker-контейнером Tomcat и сервером PostgreSQL на хосте.
  • Исправлены синтаксические ошибки в конфигурации pg_hba.conf, приводившие к отказу в подключении.
  • Зафиксирована подсеть Docker в compose.yaml для обеспечения стабильного IP-адреса контейнера и корректной аутентификации в БД.

3. Управление схемой базы данных

  • Подключена и настроена миграционная система Liquibase.
  • Созданы файлы миграций для автоматического развёртывания таблиц пользователей и ролей.
  • Реализована проверка актуальности схемы БД при запуске приложения с перенаправлением на инструкции по обновлению в случае несоответствия.
  • Добавлено логирование статуса выполнения миграций.

4. Система аутентификации и авторизации

  • Настроена Spring Security с хранением учётных записей в базе данных PostgreSQL.
  • Реализована публичная страница регистрации новых пользователей.
  • Создана административная панель с возможностью просмотра списка пользователей и блокировки/разблокировки учётных записей.
  • Реализовано автоматическое создание учётной записи администратора при первом запуске либо через веб-форму мастера установки, либо через переменные окружения.

5. Мастер первоначальной настройки

  • Разработан контроллер, выполняющий проверку готовности окружения (наличие БД, версия СУБД, состояние схемы, наличие администратора).
  • Создан набор информационных страниц с пошаговыми инструкциями для устранения типовых проблем (отсутствие подключения к БД, необходимость обновления СУБД, запуск миграций и др.).
  • Обеспечено блокирование доступа к страницам мастера после завершения настройки.

6. Доработка интерфейса и навигации

  • Скорректированы ссылки в шаблонах для корректной работы с контекстом приложения.
  • Устранены ошибки в Thymeleaf-выражениях, вызывавшие исключения при отсутствии активного профиля Spring.
  • Актуализировано содержимое главной страницы в соответствии с предметной областью.

7. Оптимизация и диагностика

  • Выявлена и решена проблема длительного запуска Tomcat, связанная со сканированием TLD в JAR-файлах.
  • Добавлены инструкции по точечному отключению сканирования TLD через контекстный XML-файл.
  • Рассмотрены рекомендации по улучшению аутентификации в PostgreSQL с использованием SSL-сертификатов и по управлению ограничениями доступа для пользователей.

Результаты

  • Приложение успешно развёртывается и работает в целевой среде.
  • Обеспечена возможность самостоятельной настройки окружения администратором без ручного вмешательства в конфигурационные файлы.
  • Реализован базовый функционал управления пользователями и ролями.



No one has commented yet.

Leave a Comment

HTML Syntax: Отключен