Встречается на собеседованиях • сегодня

Как осуществлял миграцию баз данных в последнем проекте

В последнем проекте использовали Flyway для управления миграциями. Основные принципы:

  1. Миграции хранились в виде SQL-скриптов в /resources/db/migration с именованием по шаблону V{версия}__{описание}.sql

Пример миграции:

sql
-- V2__add_user_table.sql
CREATE TABLE users (
    id BIGINT PRIMARY KEY,
    username VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
  1. Для каждой среды (dev/test/prod) настраивали отдельные Flyway-конфиги через Spring Boot properties:
properties
spring.flyway.url=jdbc:postgresql://localhost:5432/mydb
spring.flyway.user=user
spring.flyway.password=pass
  1. Миграции выполнялись автоматически при старте приложения (spring.flyway.enabled=true)

  2. Для откатов использовали либо новые миграции (V3__fix_issue.sql), либо ручные скрипты (в production)

  3. В CI/CD pipeline добавляли stage проверки миграций перед деплоем

Flyway автоматически отслеживает выполненные миграции через таблицу flyway_schema_history, что предотвращает повторное выполнение скриптов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы