Entity Framework 6 .net Framework Миграции / Консоль управления пакетами - как их запустить в конвейере Azure?
Я настраиваю конвейер выпуска Azure, и мне нужно выполнить все ожидающие миграции БД как часть выпуска.
Я рыскал по Интернету более часа, и все, что я могу найти, касается dotnet Core, в то время как база данных - EF6 в.Net Framework, а не dotnet Core (я делал это несколько раз раньше для Core).
Проблема, на мой взгляд, в том, что EF6 работает с использованием встроенной консоли диспетчера пакетов Visual Studio - этого просто нет в конвейере Azure; Это странность Visual Studio.
Кажется, есть несколько способов снять шкуру с этой кошки в своей голове, но я не могу понять, как начать с любого из них в контексте конвейера...
ВАРИАНТ 1. Запустить миграции в конвейере - но... как?
ВАРИАНТ 2: сценарии SQL - требуется запустить диспетчер пакетов для их генерации, чтобы их можно было запустить (если бы я мог сделать это в конвейере, я бы просто запустил его в любом случае, чтобы они были созданы локально и зафиксированы с кодом, несколько отстает как решение ИМО)
ВАРИАНТ 3: Напишите консольное приложение - мне действительно нужно это делать??
2 ответа
Ответ здесь - использовать инструмент командной строки ef6.exe и убедиться, что он поставляется вместе с вашей сборкой.
Это может быть полезно для всех здесь, пока Microsoft не обновит несуществующие документы: http://github.com/dotnet/EntityFramework.Docs/issues/1740 - это таблица с своего рода матрицей перевода между ними.
Вы можете попробовать расширения миграции Entity Framework.
Эта задача позволяет Build / Release предоставить параметры подключения к базе данных и выполнить миграцию Entity Framework 6 для базы данных.
- Создайте свой проект в выходной папке и включите исполняемый файл migrate.exe, который поставляется с Entity Framework 6.
- Создайте автоматическую сборку, которая упаковывает ваши файлы и делает их доступными во время выпуска.
- Создайте определение выпуска для соответствующей сборки
- Добавьте задачу миграции EF6. Как только эта задача будет добавлена в среду в рамках выпуска, вам нужно будет ввести соответствующие параметры для ее настройки. Все параметры пути к файлу должны находиться в файловой системе сборки, ни один из них не относится к путям управления версиями TFS.
Вы также можете проверить эту статью.