Введение: «Так исторически сложилось»
Представьте: вы работаете в крупной компании с федеральной сетью. У вас более 300 баз данных Microsoft SQL Server, сотни тысяч объектов — таблиц, процедур, функций, триггеров. Значительная часть бизнес-логики реализована с использованием cross-database references и распределённых запросов через linked servers, что создаёт сложные зависимости между объектами на разных базах и даже серверах.
А теперь представьте, что все изменения в схему вносятся напрямую в production — через SSMS, без версионирования, без ревью, без возможности отката.
Звучит как кошмар? Но именно так работала наша команда более 10 лет.
«Так исторически сложилось» — и это было нормой. Такой подход неизбежно порождал инциденты: от локальных нарушений целостности данных до масштабных простоев, напрямую влияющих на выручку и репутацию компании.
Мы поняли: нужно внедрять CI/CD. Но главная проблема оказалась не в технологиях — а в людях.
Почему стандартные инструменты не сработали
Flyway и Liquibase — отличные инструменты. Однако они предполагают, что каждый разработчик вручную пишет и согласует SQL-миграции. Это прекрасно работает в мире микросервисов, но в нашей реальности — неработоспособно:
каждую неделю вносятся тысячи изменений в десятки баз;
над схемами одновременно работают десятки разработчиков;
изменения пересекаются, конфликтуют и зависят друг от друга через linked servers и cross-database связи.
Ожидать, что каждый после правок аккуратно воссоздаст их в виде корректной, упорядоченной и непротиворечивой миграции — значит обрекать процесс на провал. Люди бы теряли часы на отладку, забывали про зависимости, путали порядок выполнения — и в итоге просто возвращались к прямым правкам в production.
Я понял: если миграции требуют от разработчика дополнительных усилий, они не приживутся. Чтобы CI/CD заработал, генерация миграций должна быть автоматической, прозрачной и безопасной. Разработчикам нужен мощный ассистент. Только так можно сделать процесс устойчивым — а не демотивирующим.
Решение: SchemaFlow AI — платформа, а не просто скрипт
Я разработал SchemaFlow AI — enterprise-платформу, которая превращает хаос в управляемый workflow. Главная идея проста: разработчик делает то, что умеет — пишет SQL-код. А всё остальное берёт на себя система.



Как это работает — по шагам
1. Подключение в несколько кликов
Мы сделали всё максимально просто. Подключение базы к сервису, экспорт схемы, создание репозитория в GitLab и настройка пайплайнов — всё происходит за несколько кликов через мастер.








prepare и deploy уже готовы к работе. 2. Работа как обычно
Разработчик клонирует репозиторий и продолжает работать привычными средствами.


objects. 
3. AI генерирует миграцию
Как только в репозитории появляются коммиты с изменениями схемы, ответственный за выпуск запускает пайплайн prepare.
Этот пайплайн отправляет запрос в SchemaFlow AI, который автоматически анализирует разницу между текущей и целевой версиями схемы.
Процесс генерации миграции происходит в два этапа:
Планирование
SchemaFlow AI строит детальный план миграции: определяет все необходимые действия —CREATE,ALTER,DROP— с учётом зависимостей между объектами. Результат сохраняется в виде человекочитаемого документа:review/V{номер}_review.md.Этот файл служит основой для код-ревью: инженеры могут проверить логику изменений, убедиться в корректности порядка операций и оценить потенциальные риски — до выполнения любого SQL-кода.Генерация
На основе утверждённого плана SchemaFlow AI создаёт готовый SQL-скрипт миграции, совместимый с Flyway:flyway/sql/V{номер}__*.sql.Скрипт содержит команды в правильной последовательности, безопасен для применения и учитывает особенности MSSQL (включая работу с linked servers, схемами, зависимостями и т.д.).
Оба файла — и план, и скрипт — автоматически коммитятся обратно в репозиторий. Это обеспечивает полную прозрачность, воспроизводимость и соответствие принципам Database-as-Code и GitOps.
4. Ревью и деплой
Ответственный за миграцию проводит ревью файла миграции, в этом ему помогает review.md — с описанием изменений, рисками, рекомендациями.




Аналитика и контроль

Здесь — «непаханое поле»: всё ограничивается лишь вашей фантазией и потребностями бизнеса.
Почему это сработало: фокус на удобстве
Нет обучения: разработчику не нужно осваивать новые парадигмы — он работает как раньше.
Нет страха: система берёт на себя рутину и риски, связанные с зависимостями.
Нет хаоса: каждая миграция проходит ревью, версионируется и аудируется.
Команда не сопротивлялась, потому что ничего не потеряла — но получила контроль.
Заключение
Надеюсь, вам не было скучно — и, что ещё важнее, что эта статья окажется кому-то полезной и вызовет интерес.
Я занимаюсь MSSQL уже много лет в роли DBA, обожаю performance tuning, строю системы мониторинга и автоматизирую процессы. Последний год активно изучаю возможности ИИ и методы его применения в повседневной работе.
Если вам интересно — следующая статья будет про мой продукт AI QueryAnalyzer и о том, как он помогает командам находить проблемный код и оптимизировать запросы.
Спасибо за внимание! Если вы дочитали до сюда — я искренне надеюсь, что не зря потратил ваше время.
