Cero escrituras parciales: Transacciones atómicas y garantías de rollback.
Una caída repentina o excepción en mitad de un proceso puede corromper tu base de datos para siempre. Las transacciones de wsqlite aseguran ejecución atómica todo-o-nada en modo síncrono y asíncrono.
Así se implementa Atomic Transactions & Context Managers en entornos reales con wsqlite:
from wsqlite.core.connection import get_transaction
# Atomic multi-table transfer
with get_transaction("bank.db") as tx:
# 1. Deduct from account A
tx.execute("UPDATE accounts SET balance = balance - 100 WHERE id = 1")
# 2. Add to account B
tx.execute("UPDATE accounts SET balance = balance + 100 WHERE id = 2")
# If any error occurs here, BOTH statements roll back automatically!
# Auto-committed cleanly on exit of the 'with' block
Por qué wsqlite marca la diferencia:
- Define tablas de base de datos usando modelos Pydantic v2 estándar.
- Sincroniza columnas automáticamente al iniciar sin migraciones manuales.
- Connection pool seguro multihilo con modo WAL por defecto (+5.000 inserts/seg).
- Soporte completo síncrono y asíncrono con async/await.
¡Visita el repositorio en GitHub!
Top comments (0)