Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » как обновлять БД с новыми/отредактированными полями в models.py [RSS Feed]

#1 Май 10, 2012 16:59:20

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

как обновлять БД с новыми/отредактированными полями в models.py

Сталкиваюсь уже не первый раз. Добавляю или изменяю поля в models.py, но в БД нету никаких изменений. Думаю многим это знакомо. Вручную пишу простецкие запросы в sqlite3 для достижения результата.
Вот пример из оф. документации.В models.py имеем сначала:

from django.db import models
class Person(models.Model):
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=30)

Вызываем команду syncdb. Далее в models.py добавляем :
YEAR_IN_SCHOOL_CHOICES = (
        (u'FR', u'Freshman'),
        (u'SO', u'Sophomore'),
        (u'JR', u'Junior'),
        (u'SR', u'Senior'),
        (u'GR', u'Graduate'),)
    rank=models.CharField(max_length=30, choices=YEAR_IN_SCHOOL_CHOICES)
Поле rank в БД не создаётся(нюанс ведь очень значимый).
Кто как в этой ситуации поступает, подскажите ?

Офлайн

#2 Май 10, 2012 19:04:21

Imposeren
От:
Зарегистрирован: 2009-04-06
Сообщения: 46
Репутация: +  1  -
Профиль   Отправить e-mail  

как обновлять БД с новыми/отредактированными полями в models.py

Вам нужны “Миграции”. У меня в конторе пользуются South:
http://south.aeracode.org/docs/tutorial/part1.html



Офлайн

#3 Май 10, 2012 19:16:02

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

как обновлять БД с новыми/отредактированными полями в models.py

Про такой вариант вкурсе, пока не касался. А использовать читстые SQL-запросы некорректно, как по вашему? В чем плюсы/минусы?
По мне так, чем нагромождать себя другим приложением, лучше получше узнать синтаксис SQL

Отредактировано buddha (Май 10, 2012 19:21:56)

Офлайн

#4 Май 11, 2012 11:22:17

Dr.Livsi
От:
Зарегистрирован: 2010-02-15
Сообщения: 192
Репутация: +  3  -
Профиль   Отправить e-mail  

как обновлять БД с новыми/отредактированными полями в models.py

buddha
По мне так, чем нагромождать себя другим приложением, лучше получше узнать синтаксис SQL
хозяин - барин. Я, лично, прекрасно изучил синтаксис sql используемого мною сервера баз данных (postgresql). Но реально гораздо продуктивнее использовать south. Нагромождения здесь нет. Все очень просто и, главное, быстро.



Офлайн

#5 Май 11, 2012 11:56:15

dehun
От: Ukraine::Kiev
Зарегистрирован: 2012-04-25
Сообщения: 26
Репутация: +  3  -
Профиль   Отправить e-mail  

как обновлять БД с новыми/отредактированными полями в models.py

я пробывал у себя для тестовой апликухи( django-evolution). впринципе понравилось. но есть опасения по теме как оно себя поведёт на продакшане

Офлайн

#6 Май 11, 2012 12:32:39

Imposeren
От:
Зарегистрирован: 2009-04-06
Сообщения: 46
Репутация: +  1  -
Профиль   Отправить e-mail  

как обновлять БД с новыми/отредактированными полями в models.py

Ну до апреля django-evolution уже полгода как без признаков жизни был, и чем-то он не нравился моей конторе. Сам не пробовал.

Основной плюс использования сторонних приложений перед чистым SQL: легче работа в команде



Офлайн

#7 Май 11, 2012 14:13:53

buddha
От:
Зарегистрирован: 2012-03-02
Сообщения: 422
Репутация: +  15  -
Профиль   Отправить e-mail  

как обновлять БД с новыми/отредактированными полями в models.py

спасибо за мнения

Офлайн

#8 Май 13, 2012 13:09:23

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

как обновлять БД с новыми/отредактированными полями в models.py

Imposeren
Основной плюс использования сторонних приложений перед чистым SQL: легче работа в команде
ORM Джанги гарантирует единообразный синтаксис для любой поддерживаемой СУБД.
Скажем, при отладке юзаем sqlite, на продакшене - мускуль, есть желание скоро пересесть на постресс или оракл, код от этого не изменится и это большой плюс. ИМХО: raw-SQL в Джанге есть зло, встроенный ORM вполне обеспечивает комфортную работу.



Офлайн

  • Начало
  • » Django
  • » как обновлять БД с новыми/отредактированными полями в models.py [RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version