Как стать автором
Обновить
19.5
Рейтинг
NetAngels
Пожалуй, лучший облачный хостинг в России

Фреймворк Django получит миграции схемы БД

Блог компании «NetAngels»Разработка веб-сайтовDjango

В официальном блоге Django появилась информация о том, что планируется расширить функционал встроенной ORM миграциями — важным функционалом, который присутствует во многих современных ОРМ-ах, что называется «из коробки», например в рельсовом ActiveRecord или пхпшной Doctrine. Исторически сложилось, что этот функционал отсутствует в Django ORM.

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

Стандартом де-факто сегодня является South, но поскольку это все-таки даже не контриб, поэтому присутствует некоторая несогласованность действий (как, например, поддержка версии питона). Автор приложения Эндрю Гудвин, уже несколько лет входящий в состав «кор тим», собрался наконец разрешить данную проблему и подготовить код, который потом войдет в состав кодовой базы фреймворка. Миграция БД — довольно большая и трудоемкая задача, требующая много времени и сил от разработчика. Поэтому Эндрю предложил комьюнити профинансировать его работу, создав соотвествующий проект на кикстартере. Условия следующие:

  • За 3500 фунтов Эндрю обязуется оформить минимально необходимый функционал как можно скорее, сконцентрировавшись на задаче
  • За 4500 фунтов он предлагает реализовать дополнительные низкоуровневые операции, как сохранение данных при перемещении колонок между удаленными ключами, а также поддержку постгресового CREATE INDEX CONCURRENTLY
  • За 7000 фунтов основные функции новых версий South будут подготовлены для совместимости с 1.4 и 1.5 версиями джанги

На момент написания статьи проект уже набрал почти 7 тысяч фунтов. Так что счастью быть. Кстати, уже сейчас на гитхабе можно посмотреть пул-реквест полугодичной давновсти с набросками данной работы.

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

Интересно, что далеко не все пользователи джанги разделяют энтузиазм по поводу добавления нового функционала. За примерами, кстати, далеко ходить не нужно. Основная аргументация — низкое качество кода сауса. Тут, наверное, стоит учесть 2 важных факта: во-первых, для подготавливаемого кода будут действовать те же стандарты, что и для остального кода фреймворка, а во-вторых, использование миграций, также как и Django ORM — дело сугубо добровольное, поэтому разработчикам, использующий South станет чуточку удобней, а тем, кто его игнорирует, врядли придется испытывать по этому поводу какие-либо неудобства.

UPD: Спустя всего час и пять минут необходимая сумма собрана (и даже превышена). Так что, Эндрю обещает дополнительно обратить внимание на поддержку Oracle, MSSQL и онлайн миграцию схемы с Persona для MySQL)
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Ну что, хабр, подкинем копеечку на бравое дело?
38.83% Конечно, всем станет только лучше 219
48.76% Миграции — дело хорошее, но денег не дам 275
10.82% Не надо смешивать Django и South 61
1.6% Свой вариант в комментариях 9
Проголосовали 564 пользователя. Воздержались 244 пользователя.
Теги:pythondjangokickstarterweb-разработкабазы данныхormмиграция бд
Хабы: Блог компании «NetAngels» Разработка веб-сайтов Django
Всего голосов 36: ↑34 и ↓2+32
Просмотры9.7K

Похожие публикации

Лучшие публикации за сутки

Информация

Дата основания
Местоположение
Россия
Сайт
www.netangels.ru
Численность
31–50 человек
Дата регистрации

Блог на Хабре