Рабочий процесс для автоматического обновления последних миграций Entity Framework Core - PullRequest
0 голосов
/ 08 ноября 2018

Итак, у меня есть проект EF Core. Когда мне нужно добавить / миграции, я выдаю и обновляю команду:

обновление базы данных dotnet ef -v

Это все работает нормально, если мне нужно обновить базу данных QA, Staging, Prod, я обновляю строку подключения в моем файле appsettings.json и запускаю команду.

Что произойдет, если у меня нет доступа к продукции с моей локальной машины? Как вы обновляете базу данных до последней миграции?

Если я помню работу с Entity Framework (не с ядром .net). Он будет пытаться обновить базу данных автоматически, когда я разверну новую версию приложения .net. Эта функциональность все еще существует в ядре .NET?

1 Ответ

0 голосов
/ 09 ноября 2018

Да, вы можете запустить

dbContext.Database.Migrate();

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

Альтернативой является запуск операции миграции в рамках вашего развертывания.Это зависит от того, какой метод вы используете для развертывания, но, например, например, вы используете сервер CI, вы сможете запустить

dotnet ef database update

после копирования нового кода, но до запуск резервного копирования приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...