У нас есть мультитенантное приложение, которое использует ASP. NET Core и Entity-Framework Core с SQL Server. Каждый арендатор имеет собственную физическую базу данных, но использует одну и ту же схему. Мне было интересно, что является хорошим способом для переноса баз данных-арендаторов в рабочую среду с использованием первой миграции кода. Вот несколько идей, которые я рассматриваю:
- В Startup.cs ConfigureServices я провожу oop через всех своих арендаторов и вызываю Migrate () для каждого из них. Я беспокоюсь о производительности здесь.
- Когда Арендатор пытается использовать приложение, приложение вызывает Migrate (); Опять же, это не идеально, потому что я не могу гарантировать, что несколько миграций вызываются параллельно.
- Создание сценариев миграции SQL и запуск их вручную или с помощью инструмента при развертывании.
Я ищу идеи о том, как лучше всего подходить к такого рода миграции БД.