Я создаю библиотеку базы данных для моего приложения, используя sqlite3 в качестве базы. Я хочу структурировать это так:
db/
__init__.py
users.py
blah.py
etc.py
Итак, я бы сделал это на Python:
import db
db.users.create('username', 'password')
Я страдаю параличом анализа (о нет!) О том, как обращаться с подключением к базе данных. Я действительно не хочу использовать классы в этих модулях, кажется неуместным создавать группы «пользователей», которые могут манипулировать одной и той же базой данных одинаково - так что наследование соединения не ходи.
Должен ли я иметь одно глобальное соединение с базой данных, которое используют все модули, а затем поместить это в каждый модуль:
#users.py
from db_stuff import connection
Или я должен создать новое соединение для каждого модуля и сохранить его живым?
Или я должен создать новое соединение для каждой транзакции?
Как эти соединения с базой данных должны использоваться? То же самое касается объектов курсора: создать новый курсор для каждой транзакции? Создать только один для каждого подключения к базе данных?