Я программирую веб-приложение с использованием sqlalchemy. На первом этапе разработки все было гладко, когда сайт не был в производстве. Я мог бы легко изменить схему базы данных, просто удалив старую базу данных sqlite и создав новую с нуля.
Теперь сайт находится в производстве, и мне нужно сохранить данные, но я все же хочу сохранить свою первоначальную скорость разработки, легко конвертируя базу данных в новую схему.
Итак, скажем, что у меня есть model.py в редакции 50 и model.py ревизии 75, описывающей схему базы данных. Между этими двумя схемами большинство изменений тривиальны, например, новый столбец объявлен со значением по умолчанию, и я просто хочу добавить это значение по умолчанию к старым записям.
В конце концов несколько изменений могут быть не тривиальными и требуют предварительного вычисления.
Как (или будет) вы обрабатываете быстро меняющиеся веб-приложения, скажем, одну или две новые версии производственного кода в день?
Кстати, сайт написан на Pylons, если это имеет значение.