Azure :Рекомендации по тестированию в промежуточной среде с миграцией Code First

У меня есть следующая настройка в Windows Azure:

  • «Тестовая» размещенная служба, подключенная к собственной «тестовой» базе данных.
  • «Производственная» размещенная служба, подключенная к собственной «производственной» базе данных.

Когда сборка проверена в ходе тестирования и готова к работе, мы запускаем «промежуточное» развертывание в размещенной в производственной среде службе и выполняем быстрый дымовой тест, чтобы убедиться, что новая сборка не полностью сломана. Промежуточный экземпляр развертывается с теми же битами, которые будут развернуты в рабочей среде, поэтому он общается с рабочей базой данных. Когда постановка благословлена, мы нажимаем кнопку «VIP Swap», и сборка запущена в производство. Все хорошо.

Проблема возникает при изменении модели базы данных. У меня Code First Migrations работает отлично. Я могу добавлять новые миграции, применять их локально с помощью консоли диспетчера пакетов, а затем генерировать SQL-скрипты для обновления тестовой базы данных при отправке новой сборки для тестирования. Вопрос в том, как лучше всего использовать Code First Migrations вместе с промежуточными/производственными развертываниями? Когда я развертываю новую сборку на промежуточной стадии с изменениями модели, она ожидает найти базу данных, соответствующую ее модели. Но затем, если я применяю изменения модели к рабочей базе данных, производственный экземпляр жалуется, потому что его модель не соответствует.

Я просто пропускал постановочный дымовой тест. Я загружаю в staging, затем обновляю производственную базу данных и почти одновременно нажимаю кнопку «VIP Swap». Потом дымовой тест на производстве.Если что-то серьезно сломано, «Поменяйте VIP» обратно и отмените изменения базы данных.

Есть ли лучший способ сделать это, или это в значительной степени все?

Спасибо!

13
задан ManicBlowfish 3 July 2012 в 21:38
поделиться