Описание проблемы:Ищет решение для управления версиями базы данных
В нашем проекте имеется одна «производственная база данных» и множество «разработчиков». Мы хотим знать, как мы можем управлять и устанавливать изменения. У нас уже есть несколько процедур, но это занимает много времени и иногда вызывает ошибки.
Мы не можем потерять данные - поэтому мы не можем использовать «таблицу отбрасывания». Мы можем использовать только «alter table».
Наша фактическая «процедура дб управления версиями», как это:
- У нас есть таблица с именем [actual_version], который содержит актуальную версию установленной БД схемы
- У нас есть файл с именем «changes_script. SQL», который содержит все изменения базы данных - этот файл хранится на SVN
Когда разработчик хочет зафиксировать новую ревизию на SVN, он должен change_script.sql, добавив блок:
if ([acctual_version].version < "23")) {
--- sql script ----
updateVersionTo("23")
end if
Когда мы хотим обновить схему базы данных, мы просто «выполнить» change_scripts.sql
Кто-нибудь есть идея получше?
Спасибо за ответ ... Я думаю, что все, что нам нужно, это хорошие инструменты DB Comparer. Что я хочу сделать, выберите dev_db и production_db и нажмите кнопку «Найти разницу». Затем я могу скопировать его вручную для изменения сценария. У вас есть идея? Мы протестировали Sql Compare Red Gate и это было не очень полезно – itdebeloper
Привет! Я менеджер продуктов в Red Gate, и мне любопытно узнать, какие недостатки SQL Compare были для вас. Пожалуйста, не стесняйтесь связаться! Моя электронная почта David.Atkinson на Red-Gate.com –