Форум сайта python.su
подскажите как с помощью SQLAlchemy проверить существует ли подключение к БД. Ситуация такая: БД може т использоваться несколькими пользователями и нужно или отказывать всем “опоздавшим” или блокировать записи которые редактируются уже одним пользователе. Плизз, если кто-то сталкивался этим, то опишите как решили
Офлайн
в самой SQLAlchemy для этого нет никакой особой магии. Монопольный режим работы с базой - зло большое, даже если где и поддерживается.
Все решается через транзакции. Но транзакция обеспечит тебе либо ее полное применение, либо откат транзакции целиком на момент commit. Т.е. можно написать исправление а потом заметить, что исправление нельзя применить.
Для отказа/блокировки прийдется менять схему базы. Вводишь поле “блокировано”, указывающее на таблицу блокировок (кем, когда). Периодически не забываешь блокировки чистить (отстреливать по таймауту).
Офлайн
Громаднейшее спасибо, логика проста, но мне нужно было услышать её от человека который с этим уже сталкивался. Ещё раз спасибо
Офлайн
на здоровье
Отредактировано (Сен. 11, 2007 13:48:19)
Офлайн