Глава 23 · Часть 4

Database CI/CD Pipeline

A focused chapter on database ci/cd pipeline, with practical delivery concerns, trade-offs, and the operational questions behind CI/CD work.

23-1

Почему база данных требует собственного CI/CD-пайплайна

Разбираем ключевые отличия stateless-приложений от stateful-баз данных, проблемы совместимости и тайминга, а также даём практический чек-лист для построения безопасного пайплайна миграций БД.

5 мин.
23-2

Написание миграций базы данных, которые не сломают продакшн

Узнайте, как писать безопасные миграции базы данных для продакшна: парные up/down-миграции, идемпотентность, избегание длительных блокировок и хранение миграций вместе с кодом приложения.

4 мин.
23-3

Тестирование миграций базы данных перед выкатом в продакшен

Как тестировать миграции БД в окружении, приближенном к продакшену: дамп схемы, тестовые данные, dry-run, симуляция нагрузки и автоматизация в CI/CD.

4 мин.
23-4

Когда изменение базы данных требует больше, чем просто код-ревью

Узнайте, почему пайплайн для изменений базы данных — это не просто код-ревью. Синтаксис, анализ рисков, dry-run и approval на основе рисков для безопасных миграций.

5 мин.
23-5

Запуск миграций базы данных в продакшене без потери сна

Как безопасно выполнять миграции БД в production: управление блокировками, разбиение на шаги, мониторинг и план отката. Практическое руководство для DevOps и инженеров.

5 мин.
23-6

Что происходит после успешного выполнения миграции базы данных

Миграция БД завершилась без ошибок, но через час пользователи жалуются на медленную загрузку. Разбираем, почему успешный код возврата не гарантирует здоровье системы, и как настроить пост-миграционную верификацию.

5 мин.
23-7

Когда миграции базы данных идут не так: откат (Rollback) против движения вперед (Roll-Forward)

Ваша команда только что выполнила миграцию БД в продакшене. Через пять минут мониторинг красный, ошибки растут. Что делать: откатывать изменения или писать новую миграцию? Разбираем риски, стратегии и чек-лист для принятия решения.

6 мин.