обновление БД в продакшн системе
От: serguei.d  
Дата: 20.11.09 15:33
Оценка:
Приветствую, уважаемый ALL!

Подскажите как грамотно делать обновления в работающей системе (ASP.NET + MS SQL).
Допустим, есть два сервера — один тестовый, другой работающий с ценными данными.
Нужно сделать очередные изменения в коде и в структуре ДБ. Это всё тестируется на тестовой системе и если всё нормально, мигрируется в работающую...

Если исходный код обновлять это не большая проблема, то красиво внести обновления в БД и не потерять уже существующие в ней данные — не так просто.

Первое что приходит в голову, это с какого-то момента перестать править БД напрямую, а создавать скрипты необходимых изменений в структуре БД. И их запускать сначала на тестовой системе и смотерть правильно ли отработали и затем тестировать новый функционал, а потом и на работающей системе.

(естественно, всё бэкапить перед обновлением)

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

В идеале хотелось бы например такого: программисты делают изменения в БД напрямую (девелоперской системе), затем тулза находит все изменения сделанные с последнего раза когда ее запускали и создает нужный скрипт автоматически. Этот скрипт используется для обновления БД в тестовой системе и затем в рабочей.

В общем, задача типовая. Просто не знаю чем пользоваться и как лучше это всё организовать.
Вот нашел по теме общий концепт:
http://whileicompile.wordpress.com/2009/05/01/6-simple-steps-to-a-stress-free-database-change-deployment/
http://msdn.microsoft.com/en-us/library/aa833404.aspx

Интересуют как новые решения от MS так и уже существующие сторонних производителей.

Спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.