Генерация SQL Alter запросов по разнице структур таблиц в БД?

Есть development-instance SQL Server-а, на котором крутится СУБД с кучей таблиц. В процессе разработки некоторые таблицы альтерятся, добавляются хранимые процедуры, добавляются новые таблицы.


Потом всё это нужно переносить на production-instance. И чем больше обьем изменений (а с каждым разом он всё больше) — тем дольше допиливать production-instance до состояния, пригодного к использованию с новой версией.


Соответственно, вопрос: есть ли такая софтина, которая бы на выходе давала скрипт, альтерящий production-базу до development-версии?
  • Вопрос задан
  • 2880 просмотров
Решения вопроса 1
akalend
@akalend
программирую
mySQlDiff есть такой инструмент, может помочь
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
XuMiX
@XuMiX
Reg Gate Sql Compare
или как вариант VisualStudio > Меню > Data > Schema Compare
Ответ написан
Комментировать
pietrovich
@pietrovich
Если для только для SQL Server, то я бы посоветовал посмотреть на dbForge Schema Compare for SQL Server. Очень, очень достойный инструмент, к тому же бесплатная редакция.
Ответ написан
Комментировать
conf
@conf
Ruby developer
Используйте систему контроля версий базы данных, например, liquibase. Скрипты diff дают очень ненадежный результат, так как они сравнивают разницу между конечным и начальным результатом и не имеют возможности узнать что было посередине. К примеру если вы переименовали таблицу, может быть сгенерирован код drop table + create table вместо rename.
Ответ написан
@hexen
Сталкиваюсь с такой же проблемой как Вы, много лет уже. Все системы автоматизированной генерации скриптов изменений, часто работают не корректно или пропускают нужные элементы.
Мы все таки заставляем всех разработчиков вести скрипт изменений системы, собираем потом все скрипты от разработчиков в пакетное обновление. И уже на рабочие базы накатываем все эти пакетные обновления.
Ведем четко контроль версий эих всех обновлений, и детализацию скриптов SQL всех этих обновлений.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы