Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 10, 2010 10:33:29

walter
От:
Зарегистрирован: 2008-11-22
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

Вываливается эксепшн при отсутствии БД

Начал разбираться с SQLObject. Пытаюсь работать с уже существующей БД (PostgreSQL 8.4), но столкнулся с тем, что если на момент запуска (при выполнении импортирования модуля, в котором прописаны классы SQLObject) БД не существует, то все валится с ошибкой. Как элегантно обойти данную проблему и вместо ошибки, например предложить пользователю запустить скрипт создания БД?



Отредактировано (Ноя. 10, 2010 11:26:35)

Офлайн

#2 Ноя. 10, 2010 11:26:51

walter
От:
Зарегистрирован: 2008-11-22
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

Вываливается эксепшн при отсутствии БД

Единственное, что приходит на ум это

try:
from my.sqlobjectclasses import *
except Exception:
print "Database does not exist. Blah-blah-blah..."
Но как-то коряво это. Или нет?



Офлайн

#3 Ноя. 10, 2010 14:12:37

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

Вываливается эксепшн при отсутствии БД

Конечно коряво. А где именно оно вылетает? Наверное, вы просто в коде модуля пытаетесь подключиться к БД. Не нужно так делать.

Кстати, а почему sqlobject? Проект полумертвый и практически не развивается - только багфиксы.



Офлайн

#4 Ноя. 10, 2010 14:36:06

walter
От:
Зарегистрирован: 2008-11-22
Сообщения: 46
Репутация: +  0  -
Профиль   Отправить e-mail  

Вываливается эксепшн при отсутствии БД

Подключаюсь я действительно непосредственно из модуля. А насчет почему sqlobject, так как-то он мне привычней показался. Хотя окончательного решения я еще не принял.
Спасибо за подсказку.



Отредактировано (Ноя. 10, 2010 14:37:07)

Офлайн

#5 Ноя. 10, 2010 14:51:41

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

Вываливается эксепшн при отсутствии БД

алхимия может выглядеть так же. А может и совсем иначе - она гораздо мощней и гибче



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version