У меня есть веб-приложение, использующее sqlalchemy (в Pylons). Мне нужно эффективно изменить схему, чтобы иметь возможность изменять производственную версию, по крайней мере, ежедневно, возможно, больше, не теряя данные.
Я сыграл немного с sqlalchemy-migrate в течение выходного дня, и я бы сказал, что это показало мне плохое впечатление. Первый Я думаю, что это не может помочь в миграции между двумя ядрами баз данных; что-то, что можно было бы сделать с помощью sqlalchemy. Во-вторых, документы не выглядят актуальными. Мне пришлось изменить некоторые параметры командной строки, например, дать путь репозитория к каждой команде, это может быть ошибкой переноса.
Но хуже всего это команда "manage.py test". Мало того, что на самом деле изменяет базу данных (эта точка явно указана в документации, поэтому я не могу винить миграцию), но моя первая миграция script просто сделала простую мировую миграцию схемы, оставив обновленную версию с пониженной оценкой db с другой схемой, чем оригинальная. Но тест "manage.py" просто ответил на что-то вроде
success !
То есть, он даже не проверял, осталась ли схема в когерентном состоянии. Итак, стоит ли использовать migrate? Есть ли какие-либо преимущества по сравнению с методом Do It Yourself, связанным с передовыми методами как было предложено S.Lott? Существуют ли альтернативы sqlalchemy-migrate, фактически упрощающие процесс миграции, или я просто пытаюсь использовать migrate с плохим априори (тогда, пожалуйста, покажите мне, почему это явно превосходит создание столбцов CSV, как было предложено в ссылке выше)?
Большое спасибо!