Как поменять местами базу данных в слотах развертывания веб-приложения Azure?

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


person Ayed Mohamed Amine    schedule 22.02.2019    source источник


Ответы (2)


Когда вы обновляете промежуточный слот, любая БД, подключенная к этому слоту, будет обновлена.

Позвольте мне описать два сценария -

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

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

Теперь 1-й сценарий не будет хорошей идеей, поскольку вы вносите изменения непосредственно в свою производственную базу данных. Но вы получаете полностью обновленную базу данных. Во втором сценарии это безопасно, но ваши последние данные могут не совпадать.

Лучшей идеей было бы следовать 2-му сценарию для тестирования. А когда испытание завершится -

  1. Создайте скрипт для миграции БД,
  2. Резервное копирование производственной базы данных
  3. Запустите миграцию БД вручную
  4. Поменяйте местами производственный слот с промежуточным слотом
person Md. Shariful Siddique    schedule 04.03.2019

проблема в том, что авторазвертывание занимает около 3 минут, но миграция базы данных выполняется примерно за 30 секунд.

person salemk    schedule 05.03.2019
comment
вот как вы можете добавить веб-перехватчик в развертывание Azure: уведомление о веб-перехватчике после завершения развертывания github.com /projectkudu/kudu/wiki/веб-хуки - person salemk; 19.04.2019