Как вы поддерживаете несколько версий баз данных?

У нас много сред

trunk (интеграция разработчиков) -> devel (командное тестирование) -> qa (регрессионное тестирование) -> live (использование клиентов)

Каждая имеет свою собственную базу данных, которая работает с код в этой среде.

Часть содержимого базы данных - это метаданные, а часть - данные. Например, если вы создаете отчет, то столбцы, которые вы можете выбрать для создания отчета, являются метаданными, а отчеты, которые пользователь уже создал, являются данными. Метаданные перемещаются вверх по цепочке продвижения (вводятся в магистрали и идут разработки-> qa-> live) вместе с кодом по мере его тестирования. Однако данные не продвигаются. Более того, данные в определенной среде не должны стираться или повреждаться и продолжать работать после того, как эта среда была повышена до уровня.

Какие существуют хорошие стратегии для управления и, что не менее важно, для автоматизации такой установки?

Мы используем .NET / C # / SQL Server, но я думаю, что эта проблема носит общий характер и должна решаться повсеместно для любого зрелого приложения, над которым работает большое количество разработчиков и которое заботится о пользователях данных. генерировать на нем.

7
задан floatingfrisbee 2 December 2010 в 00:50
поделиться