Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Поведение джанги при изменении модели [RSS Feed]

#1 Окт. 27, 2009 12:12:54

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Поведение джанги при изменении модели

Здравствуйте, вот начал работать на джанге, и столкнулся с любопытным неудобством:
Когда есть модель и требуется в нее внести в нее изменение (рассмотрим пример добавления столбца в таблицу), то необходимо в шеле бд руцями это все дело прописать. Вот во мне проснулась ленивость (хочу это дело обойти) и несколько вопросов :
1. Всех ли это устраивает (если да, то этот вопрос последний, если нет, то как кто решал эту задачку) ?
2. Вот подумал может добавить при старте сервера затычку типа ModelChecker (будет проверять соответствие модели и структуры таблиц в БД и делать соответствующий ALTER TABLE) ?
3. Или может чуть расширить сам models.Model чтобы класс при инициализации делал проверку и соответствующие изменения (не очень мне такой подход нравится но все же.)

P.S. С Джангой работаю второй день (после 2-х годового опыта работы на Zope3 немного непривычно, вижу кучу минусов, и совсем немного плюсов) так что сильно не пинайте, и если что-то в вопросах глупое - сразу поправьте. Спасибо.



Офлайн

#2 Окт. 27, 2009 12:56:15

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Поведение джанги при изменении модели

Офлайн

#3 Окт. 27, 2009 13:13:24

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Поведение джанги при изменении модели

Daevaorn, спасибо за подсказку, почитал, как я и ожидал, однозначного решения нет, и даже тот мощный South не предоставляет средств для решений 100% случаев миграций… Буду развиваться в этом направлении дальше, может чего изобрету+найду, в результате - поделюсь, еще раз спасибо.



Отредактировано (Окт. 27, 2009 13:13:44)

Офлайн

#4 Окт. 27, 2009 16:44:53

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Поведение джанги при изменении модели

regall
и даже тот мощный South не предоставляет средств для решений 100% случаев миграций…
Их и не может быть. Просто по тому что Джанга позволяет работать с любой БД и в каждой из них могут быть свои особенности миграции схемы, а где-то и схемы нет вовсе.



Офлайн

#5 Окт. 27, 2009 22:14:25

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Поведение джанги при изменении модели

lorien
* на sqlite не работают команды по изменению колонок т.к. sqlite не поддерживает alter table насколько я понял
Не совсем верно. SQLite поддерживает ограниченный вариант ALTER TABLE. Комманда ALTER TABLE в SQLite позволяет переименовывать таблицу или добавлять новую колонку, но невозможно переименовывать (как в вашем случае) удалять и добавлять колонки в таблицы.
lorien
* если добавить db_index в колонку, то south не создат индекс o_O
Ну, насколько я понял проект живой и активно развивается, все еще впереди, все-таки следует учитывать, что фреймворк молодой, и соответственно app-ы под него, так сказать, пока еще не “mature”. Будем надеется на светлое будущее.

P. S. lorien, спасибо за ответ/совет, учту, если буду использовать эту утилитку.



Отредактировано (Окт. 27, 2009 22:15:17)

Офлайн

  • Начало
  • » Django
  • » Поведение джанги при изменении модели[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version