Я пытаюсь понять, как реализовать следующий сценарий развертывания с использованием EF-кода и миграции. Идея состоит в том, что я хотел бы обновить БД с помощью изменений обратной совместимости (например: добавить столбец) и проверить, что все еще работает. Он вдохновлен внедрением зеленого/синего цвета, но он не совсем следует этому шаблону. Смысл этого в следующем этот процесс:Переходы DB DF с обратной совместимостью
- Обновление базы данных (EF миграция)
- Test сайт
- Обновление сайта код
- Если что-то пойдет не так, вернуться к предыдущему коду сайта
Проблема, с которой я, безусловно, столкнусь, заключается в том, что на шаге 2 (и 4) я обязательно получу ошибку от EF об изменении модели, хотя все изменения БД совместимы с существующим кодом ...
Я знаю, что решением было бы перенести «вниз» базу данных на предыдущую версию (или даже сделать резервную копию БД), но может случиться так, что некоторые миграции действительно сложны и часть «Вниз» может быть нарушена или просто плохо кодируется.
Так что мой вопрос: есть ли способ избежать EF проверки модели или, в конце концов, знать, что изменения обратно совместимы?
Интересно ... Я был уведен битом развертывания и не мог найти этот вопрос. В любом случае, нет возможности проверить право на прямую/обратную совместимость? Я думаю, вы можете либо получить полную проверку, либо вообще не иметь ее ... – Tallmaris
Не то, чтобы я знал. Я бы не отключил проверку совместимости, так как эта мигающая причина еще больше головных болей ... Если возможно, я бы предложил сделать регрессию/интеграцию/модульные тесты локально/или сервером сборки. Если вы полагаетесь на определенные данные, вы можете использовать scritps в тестах или создать собственный db-инициализатор и переопределить его метод семени. – Indregaard