Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 11, 2007 13:10:08

Sunny
От:
Зарегистрирован: 2007-06-15
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLAlchemy

подскажите как с помощью SQLAlchemy проверить существует ли подключение к БД. Ситуация такая: БД може т использоваться несколькими пользователями и нужно или отказывать всем “опоздавшим” или блокировать записи которые редактируются уже одним пользователе. Плизз, если кто-то сталкивался этим, то опишите как решили



Офлайн

#2 Сен. 11, 2007 13:34:22

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

SQLAlchemy

в самой SQLAlchemy для этого нет никакой особой магии. Монопольный режим работы с базой - зло большое, даже если где и поддерживается.
Все решается через транзакции. Но транзакция обеспечит тебе либо ее полное применение, либо откат транзакции целиком на момент commit. Т.е. можно написать исправление а потом заметить, что исправление нельзя применить.
Для отказа/блокировки прийдется менять схему базы. Вводишь поле “блокировано”, указывающее на таблицу блокировок (кем, когда). Периодически не забываешь блокировки чистить (отстреливать по таймауту).



Офлайн

#3 Сен. 11, 2007 13:46:16

Sunny
От:
Зарегистрирован: 2007-06-15
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

SQLAlchemy

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



Офлайн

#4 Сен. 11, 2007 13:48:06

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

SQLAlchemy

на здоровье



Отредактировано (Сен. 11, 2007 13:48:19)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version