Перенос базы данных Code First при замене веб-приложения Azure - PullRequest
0 голосов
/ 06 июня 2018

Настройка:

  • Слот разработчика с настройкой слота для базы данных DEV
  • Слот производства с настройкой слота для базы данных PRODUCTION.

Я включен«Выполнить код первой миграции» в моем профиле публикации и публикации в слоте DEV.База данных DEV обновляется идеально.

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

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

На данный момент я сделал исправление, которое заставляет их просматривать URL-адрес в приложении, которое будет выполнять любые отсутствующие обновления с помощью следующего фрагмента кода:

var configuration = new Configuration();
var migrator = new DbMigrator(configuration);
migrator.Update();

Это нормально, что миграция не запускается при смене слотов?

1 Ответ

0 голосов
/ 06 июня 2018

Есть ли у вас строка подключения, сконфигурированная как настройка для конкретного слота?Если это так, ваш рабочий процесс должен перезапуститься при свопеИ вам просто нужно убедиться, что миграции запускаются при запуске.Очевидно, что изменения конфигурации, сделанные профилем публикации, чтобы запустить миграцию при запуске, не распространяются в рабочий слот.

См. Этот пост в блоге ASP.NET для вариантов: EF Code First MigrationsРазвертывание в облачной службе Azure

...