Сине-зеленые развертывания в Azure для мультитенантности

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

Насколько я понимаю, похоже, что вам всегда нужно писать код с обратной совместимостью, который работал бы в обоих случаях для обработки изменений схемы, что мне не кажется идеальным.


comment
Какую базу данных вы используете? Azure SQL? Есть ли один клиент на каждую базу данных или может быть более одного клиента на базу данных?   -  person Rob Reagan    schedule 25.05.2017
comment
Я использую Azure SQL, и на каждую базу данных приходится один клиент.   -  person Ozmen    schedule 26.05.2017
comment
Лучшие практики субъективны и основаны на мнении и не подходят для StackOverflow. Возможно, вы сообщите нам о конкретных проблемах, с которыми вы боретесь в процессе развертывания сине-зеленого цвета, а затем люди дадут рекомендации.   -  person Rob Reagan    schedule 26.05.2017
comment
Спасибо за внимание, Роб, я отредактировал вопрос   -  person Ozmen    schedule 26.05.2017


Ответы (1)


Не существует волшебного средства для отката изменений схемы Azure SQL. К сожалению, вам придется создать сценарий для развертывания новых обновлений в вашей базе данных и один для отката изменений, если что-то пойдет не так, если вы решите это сделать. Существует инструмент под названием Elastic Jobs, который поможет вам выполнять сценарии в одной или нескольких базах данных в эластичном пуле.

person Rob Reagan    schedule 26.05.2017