Buduję bibliotekę baz danych dla mojej aplikacji, używając bazy sqlite3 jako bazy. Chcę zorganizować je tak:Jak zbudować prosty pakiet bazy danych dla mojej aplikacji Pythona?
db/ __init__.py users.py blah.py etc.py
Więc chciałbym to zrobić w Pythonie:
import db
db.users.create('username', 'password')
mam cierpi analizy paraliż (oh no!) O tym, jak obsługiwać połączenia z bazą danych. Tak naprawdę nie chcę używać klas w tych modułach, nie wydaje się właściwe, aby móc tworzyć grupę obiektów "użytkowników", które mogą manipulować tą samą bazą danych w ten sam sposób - więc dziedziczenie połączenia jest nie ma wyjścia.
powinienem mieć jeden globalnego połączenia z bazą danych, że wszystkie moduły użyć, a następnie umieścić to w każdym module:
#users.py
from db_stuff import connection
Albo należy utworzyć nowego połączenia dla każdego modułu i utrzymywać, że żyje?
Czy powinienem utworzyć nowe połączenie dla każdej transakcji?
W jaki sposób należy korzystać z tych połączeń z bazą danych? To samo dotyczy obiektów kursora: Czy dla każdej transakcji utworzę nowy kursor? Utworzyć po jednym dla każdego połączenia z bazą danych?
bardzo elegancki wyraz zbyt często ignorowanej przykazania. – msw
więc masz jedno połączenie globalne, ale zawijacie je w klasę? To nie wydaje się dużo różnić od posiadania jednego globalnego połączenia, ale umieszczenia go w module ... Czy to źle, że każdy moduł rozpoczyna swoje własne połączenia? –
nevermind, po pewnym przeczytaniu okazało się, że dwa połączenia z tą samą bazą danych nie działają tak dobrze:/ –