Таким образом, переход от подхода к разработке / развертыванию
- Наличие БД под управлением исходным кодом и конвейер развертывания для определенных c версий БД
- Наличие веб-приложения / API под управлением исходного кода и для них есть конвейеры развертывания;
и затем иметь зависимости Web APP / API от версий БД - следовательно, чтобы добавить новое изменение БД, например, мы должны сделать выпуск БД; перед тем, как мы выпустим приложение - и изменение БД не должно «сломать» старое приложение, - а затем мы можем обновить приложение, чтобы использовать новое изменение БД
Хотя болезненно - это работает; он также работает, когда у вас есть N серверов для веб-приложения (в горизонтальном масштабе) с подходящим SINGLE DB Server.
Теперь работа над кодом EF Core 3.1 Сначала с использованием миграции данных. Все работает как положено, одно веб-приложение с одной БД.
Но - если это было развернуто на N веб-серверах, опять же с одним экземпляром БД; Затем .....
- "ЕСЛИ" веб-серверы обновлялись по одному за раз, после чего происходила миграция данных при запуске первого "нового" приложения - и, возможно, старые веб-приложения могли бы продолжить работу (зависит от изменений)
Выше не совсем моя забота; это
- Если у вас есть одновременное развертывание на нескольких серверах веб-приложений, и эти приложения запускаются одновременно; тогда я представляю, что перенос данных будет предприниматься одновременно ... то есть один из них должен потерпеть неудачу.
Итак: 64 000 долларов Вопрос - как люди справляются с горизонтальным масштабированием вне веб-приложения с сервером единой БД с EF Code First Data Migrations?
Это "просто будьте осторожны с ваши изменения "?