Pull to refresh
0
NetAngels
Пожалуй, лучший облачный хостинг в России

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

Reading time 2 min
Views 9.9K

В официальном блоге 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)
Only registered users can participate in poll. Log in, please.
Ну что, хабр, подкинем копеечку на бравое дело?
38.83% Конечно, всем станет только лучше 219
48.76% Миграции — дело хорошее, но денег не дам 275
10.82% Не надо смешивать Django и South 61
1.6% Свой вариант в комментариях 9
564 users voted. 244 users abstained.
Tags:
Hubs:
+32
Comments 12
Comments Comments 12

Articles

Information

Website
www.netangels.ru
Registered
Founded
Employees
31–50 employees
Location
Россия