Как эффективно управлять частыми изменениями схемы с помощью sqlalchemy?

Я программирую веб-приложение с использованием sqlalchemy. Все было гладко на первом этапе разработки, когда сайт не работал. Я мог бы легко изменить схему базы данных, просто удалив старую базу данных sqlite и создав новую с нуля.

Сейчас сайт находится в работе, и мне нужно сохранить данные, но я все еще хочу сохранить первоначальную скорость разработки, легко преобразовав базу данных в новую схему.

Итак, давайте предположим, что у меня есть model.py в ревизии 50 и model.py в ревизии 75, описывающей схему базы данных. Между этими двумя схемами большинство изменений тривиально, например, новый столбец объявлен со значением по умолчанию, и я просто хочу добавить это значение по умолчанию к старым записям.

В конце концов, некоторые изменения могут быть не тривиальными и требуют предварительного вычисления.

Как (или вы) будете обращаться с быстро меняющимися веб-приложениями, скажем, с одной или двумя новыми версиями рабочего кода в день?

Кстати, сайт написан на Pylons, если это имеет какое-либо значение.

Ответы на вопрос(4)

Ваш ответ на вопрос