Рекомендуемый метод:
- Добавление изменений базы данных для ваших новых функций в существующий код
- Сделать существующий код совместимым с новой схемой
- Deploy
- Добавление новых функций в вашу кодовую базу
- Deploy
Это означает, что изменения в вашей базе данных уже внесены, когда код начинает требовать их.
Однако ....
Есть несколько проблем с этим. Во-первых, я не знаю ни одного магазина разработки, который был бы настолько организован, чтобы справиться с этим, поскольку функции просто создавались специально, а во-вторых, вы ничего не экономите.
Вообще говоря, если вы не внесете большие изменения в массивную базу данных, ваши изменения не займут много времени, и их применение обычно заканчивается через пару секунд, и разработчик может довольно легко обойтись, выпуская перезапуски и т. Д. При необходимости. Риск заключается в том, что пользователь может получить страницу с ошибкой. Если изменения больше, у вас есть несколько альтернатив. Один использует режим обслуживания, чтобы отключить сайт на несколько секунд.
Если честно, не существует четкого способа, как правильно справиться с этим, так как по определению ваш код должен быть на месте для начала изменений в вашей базе данных. Лучший способ, который я нашел для решения этой проблемы, состоит в том, чтобы рассмотреть каждое изменение индивидуально и выработать наиболее плавный путь для каждого случая в каждом конкретном случае.
Репетиция развертываний в промежуточной среде снизит риск неудачного развертывания и даст представление о последствиях.