Как включить кодовые рамочные миграции первой сущности для Windows Azure при публикации от контроля источника?
-
21-12-2019 - |
Вопрос
У меня есть проект, который я публикую, чтобы Azure автоматически через контроль источника.Я настроил Azure, чтобы иметь правильную строку подключения для контекста структуры объекта.Мне нужно автоматически запускать миграции против базы данных Azure, связанную с веб-сайтом.
Я знаю, что в диалоговом окне публикации есть вариант, но мне нужно вручную добавить любую магию в Интернете.Что требуется иметь лазурные миграции бега из исходного контроля, и если это невозможно, есть еще один путь?
Я использую EF 6.
Решение
Вам нужно, это настроить свой контекст, чтобы мигрировать на прогон.Вам нужно сделать это только один раз в процессе запуска, поэтому статический конструктор в контексте - довольно приличное место, чтобы положить его
static MyContext()
{
Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Data.Migrations.Configuration>());
}
.
Также убедитесь, что строка подключения настроена в Azure.
Если вы используете автоматические миграции (что является плохой идеей на развернутом сайте), то вам также понадобятся, которые включены
Другие советы
Для запуска таких сценариев миграции я бы порекомендовал использовать Azure WebJobs: http://www.hanselman.com/blog/introducingwindowsazurewebjobs.aspx
Azure WebJobs, является планировщиком для запуска сценариев, таких как .bat, .exe и т. Д. Это в основном работает как Cron на машинах Unix, но предлагает интуитивно понятное и простудровое в использовании UI.Так что для корпуса @Romoku он мог создать приложение консоли.Это использует EF 6.0 и все, что .NET предлагает планировать свои миграции и отслеживать журналы операций.Он работает на одной и той же машине и среде, на котором работает сайт.