Я настраиваю WebApi в .NET Core 2.0. Я буду использовать Entity Framework Core в качестве ORM. Целое приложение будет развернуто как Docker Container. Меня немного беспокоит способ обработки миграций БД в этом случае. Я имею в виду производственную среду. Вот что мне удалось исследовать:
- Мы просто запускаем Database.Migrate() в приложении и начинаем забывать весь world- хмм как-то мне не нравится ;-)
- Database.Migrate(), управляемый параметром командной строки (запустите контейнер докера один раз с указанным параметром для переноса БД)
- Войдите в контейнер приложения и выполните
dotnet ef database update
- Генерируйте старый простой SQL на основе миграций и выполняйте его из инструмента управления БД. Кажется oldschool но действительный. То, что я ненавижу, так это возиться с выполнением сценариев самостоятельно.
- Подготовьте контейнер базы данных, в котором уже есть сценарии, сгенерированные из приведенного выше кода, и который будет автоматически выполнять их.
Любые другие предложения? Или какое самое лучшее и правильное решение?
С уважением