Estoy construyendo una biblioteca de base de datos para mi aplicación usando sqlite3 como base. Quiero estructurarlo de este modo:¿Cómo debería crear un paquete de base de datos simple para mi aplicación Python?
db/ __init__.py users.py blah.py etc.py
Así que haría esto en Python:
import db
db.users.create('username', 'password')
estoy sufriendo parálisis de análisis (oh no!) Acerca de cómo manejar la conexión de base de datos. Realmente no quiero usar clases en estos módulos, realmente no parece apropiado poder crear un conjunto de objetos de "usuarios" que puedan manipular la misma base de datos de la misma manera, por lo que heredar una conexión es un no-go.
¿Debo tener una conexión global a la base de datos que utilizan todos los módulos, y luego poner esto en cada módulo:
#users.py
from db_stuff import connection
O debería crear una nueva conexión para cada módulo y mantener esa vida?
¿O debería crear una nueva conexión para cada transacción?
¿Cómo se supone que se utilizan estas conexiones de base de datos? Lo mismo ocurre con los objetos del cursor: ¿creo un cursor nuevo para cada transacción? Crear solo uno para cada conexión de base de datos?
una expresión muy elegante de un precepto ignorado con demasiada frecuencia. – msw
entonces, ¿tiene una conexión global pero la envuelve en una clase? Eso no parece muy diferente de tener una conexión global pero ponerla en un módulo ... ¿Es malo que cada módulo inicie sus propias conexiones? –
no importa, después de leerlo descubrí que dos conexiones a la misma base de datos no funcionan tan bien:/ –