Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2007 15:09:41

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

Djano и Mysql engines

Вопрос - как в models.py использовать к примеру InnoDB заместо Myisam?

Как Django работает с уже существующей базой и таблицами?

Как в models.ForeignKey() выставлять правила обновления по delete и update?



Отредактировано (Дек. 4, 2007 17:01:35)

Офлайн

#2 Дек. 4, 2007 17:25:05

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

Djano и Mysql engines

securelord
Вопрос - как в models.py использовать к примеру InnoDB заместо Myisam?
это не предусмотрено
securelord
Как Django работает с уже существующей базой и таблицами?
так же как и обычно. надо просто создать модели соответствующие таблицам - можно сделать автоматически
securelord
Как в models.ForeignKey() выставлять правила обновления по delete и update?
поподробнее, что хочешь сделать



Офлайн

#3 Дек. 4, 2007 18:05:47

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

Djano и Mysql engines

Daevaorn
поподробнее, что хочешь сделать
что то вроде этого.
create table users (
        id_user int() not null auto_increment,
	id_party int() not null,
	Primary key (id_user)
	Foreign key (id_party) references party(id_party)
		on delete cascade
		on update cascade
                                         )
Или эти своиства по умолчанию?

Daevaorn
так же как и обычно. надо просто создать модели соответствующие таблицам - можно сделать автоматически
А как быть со сложными запросами? Или пользоваться курсорами?



Отредактировано (Дек. 4, 2007 18:07:19)

Офлайн

#4 Дек. 4, 2007 18:16:52

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

Djano и Mysql engines

securelord
что то вроде этого.
тоже никак. поскольку модели в джанго уже высокоуровневая абстракция над системой хранения, то поэтому точечную настройку можно осуществить, написав DDL вручную.
securelord
А как быть со сложными запросами? Или пользоваться курсорами?
что-то через ORM, что-то через курсор. Выбирай по ситуации.



Офлайн

#5 Дек. 4, 2007 18:17:57

securelord
От:
Зарегистрирован: 2006-08-31
Сообщения: 129
Репутация: +  0  -
Профиль   Отправить e-mail  

Djano и Mysql engines

Спасибо



Офлайн

#6 Дек. 18, 2007 12:09:26

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

Djano и Mysql engines

securelord
Вопрос - как в models.py использовать к примеру InnoDB заместо Myisam?
В models.py никак, но в settings.py можно задать DATABASE_OPTIONS = {“init_command”: “SET storage_engine=INNODB” }. http://code.djangoproject.com/svn/django/trunk/docs/databases.txt



Офлайн

#7 Янв. 2, 2008 12:09:38

Lolka
От:
Зарегистрирован: 2007-09-29
Сообщения: 128
Репутация: +  0  -
Профиль   Отправить e-mail  

Djano и Mysql engines

А еще где то был howto как уговорить джангу самостоятельно попробовать превратить существующую БД в джанго-модели. Было в документации в районе Database API / Models API



Отредактировано (Янв. 2, 2008 12:10:07)

Офлайн

#8 Янв. 2, 2008 12:11:30

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

Djano и Mysql engines

Lolka
А еще где то был howto как уговорить джангу самостоятельно попробовать превратить существующую БД в джанго-модели.
http://www.djangoproject.com/documentation/django-admin/#inspectdb



Офлайн

#9 Июнь 10, 2008 17:07:17

PyCraft
От:
Зарегистрирован: 2008-05-23
Сообщения: 81
Репутация: +  0  -
Профиль   Отправить e-mail  

Djano и Mysql engines

А потом как работать? Как организовать цикл развития ПО?

Допустим, мы начинаем разработку с
1) ER-диаграммы на логическом уровне (одна модель для любой СУБД)
2) Получаем SQL код №1 для нескольких СУБД
3) Если не удается добиться нужной генерации, правим специфику в редакторе, фиксируем различие, документируем №1 для нескольких СУБД.
4) Генерим БД №1 на нескольких СУБД.
—-
5) Импортируем схему БД в models.py №1 с самой дружественной СУБД (допустим 50 сущностей, а вдруг)
6) Добавляем по шаблону всем стандартный дополнительный питоновский код
7) Добавляем некоторым ручками некоторый специальный код
8) Проверяем совместимость модели №1 с базами данных №1 на нескольких СУБД.
—-
9) Решаем изменить логическую схему, вносим изменение в ER (п.1)

Повторяем шаги 1 - 8 для №2, а потом пишем процедуру импорта данных из №1 в №2 для каждой СУБД

При этом мы каждый раз будем повторять одинаковую ручную работу на этапах 2 и особенно 6 и 7
Функционал Django для автоматической генерации баз данных и синхронизации почти совсем не используем.

Или есть другие варианты?
Я правда не могу решить как правильно организовать процесс разработки.

ps.Странно, что в Django нет Визуального дизайнера для models.



Офлайн

#10 Июнь 10, 2008 18:22:23

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

Djano и Mysql engines

PyCraft
При этом мы каждый раз будем повторять одинаковую ручную работу на этапах 2 и особенно 6 и 7
Так автоматизируйте. Что мешает?
PyCraft
Я правда не могу решить как правильно организовать процесс разработки.
Модель первична.
PyCraft
Странно, что в Django нет Визуального дизайнера для models.
Куда уж визуальнее и функциональнее чем имеющийся DSL?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version