Как включить кодовые рамочные миграции первой сущности для Windows Azure при публикации от контроля источника?

StackOverflow https://stackoverflow.com//questions/23013671

Вопрос

У меня есть проект, который я публикую, чтобы 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 предлагает планировать свои миграции и отслеживать журналы операций.Он работает на одной и той же машине и среде, на котором работает сайт.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top