Общее решение здесь - генерировать SQL сценарии для каждого развертывания и интегрировать их в процесс CI / CD.
Вы можете использовать EF Migrations для создания SQL сценария, то есть протестировано, развернуто в вашем репо как первоклассный актив и развернуто вашим конвейером CI / CD. Или вы можете использовать SSDT для управления схемой и создания сценариев изменений. Но это не единственные разумные способы.
Если вы изменяете схему вручную без использования SSDT, вы обычно просто используете инструмент для генерации сценария изменения. И go оттуда.
Существует множество инструментов (включая SSDT), позволяющих вам отличить среду разработки от целевой производственной схемы и сгенерировать сценарии изменений. Например, Redgate ReadyRoll
Обратите внимание, что если вы собираетесь выполнять онлайн-обновления схемы, вам необходимо вручную просмотреть сценарии изменений для автономных операций DDL и убедиться, что изменения в коде / базе данных имеют правильные изменения. прямая и обратная совместимость для поддержки развертывания, когда приложение подключено к сети.
И подготовка, проверка, тестирование и редактирование сценариев изменения базы данных - это не то, что нужно каждой команде разработчиков. Таким образом, вы всегда можете подумать о том, чтобы перейти на Windows VM для этой задачи.