Для команд, релизящих изменения БД

Миграции базы данных
без страха

Одна плохая миграция может положить продакшен. diffray ловит блокирующие запросы, риски потери данных и отсутствующие откаты до деплоя.

Prisma
TypeORM
Knex
Sequelize
Rails Migrations
Django Migrations

Миграции, которые ломают продакшен

Они проходят code review. Не проходят через diffray.

Блокировка таблиц

  • ALTER TABLE на больших таблицах
  • Добавление колонок с дефолтами
  • Создание индексов без CONCURRENTLY

База заблокирована, приложение недоступно

Потеря данных

  • DROP COLUMN без бэкапа
  • Изменение типов колонок
  • Очистка таблиц

Данные потеряны навсегда

Долгие операции

  • Заполнение миллионов строк
  • Сложные трансформации данных
  • Пересоздание индексов

Таймауты деплоя, неполное состояние

Без отката

  • Отсутствующая down-миграция
  • Необратимые операции
  • Зависимые от данных изменения

Нельзя откатить, если что-то сломается

Автоматический чеклист безопасности

Каждая миграция проходит полный аудит безопасности

Скрипт отката существует
Нет блокирующих операций
Большие таблицы обрабатываются батчами
Индексы создаются конкурентно
Нет деструктивных операций с данными
Внешний ключ имеет индекс

Что мы ловим

Блокирующие операции

ALTER TABLE, создание индексов и другие операции, которые блокируют таблицы во время выполнения

Безопасность данных

Удаление колонок, изменение типов и другие операции с риском потери данных

Безопасность отката

Отсутствующие down-миграции, необратимые операции, риски деплоя

Вопросы и ответы

Мигрируйте безопасно.
Спите спокойно.

Больше никаких "миграция заблокировала таблицу users" посреди ночи.

Начать бесплатно