Articles of Transacciones

Django: ¿cómo envolver una operación de actualización / inserción masiva en una transacción?

Este es mi caso de uso: Tengo varias tareas de apio que se ejecutan en paralelo Cada tarea podría crear o actualizar a granel muchos objetos. Para esto estoy usando django-bulk Así que básicamente estoy usando una función muy conveniente insert_or_update_many : primero realiza un Select Si encuentra objetos los actualiza. De lo contrario los […]

Nivel de aislamiento por transacción en Django ORM

¿Es posible establecer el nivel de aislamiento para una transacción personalizada (pero no con un sql sin procesar)? Por ejemplo, algo como: with transaction.commit_on_success(isolation=’SERIALIZABLE’): bla

sqlite3 guardando cambios sin el comando commit en python

Leí en algún lugar para guardar datos en una base de datos sqlite3 en Python. Debes llamar a la función commit () en el objeto de conexión. Nunca hago esto, pero mi base de datos aún tiene los datos guardados en él … ¿por qué?

Actualización de transaction.commit_manually () a Django> 1.6

He heredado algo de código para una aplicación que fue escrita para Django 1.4. Necesitamos actualizar el código base para que funcione con Django 1.7, y eventualmente 1.8 como la próxima versión de Soporte a Largo Plazo. En algunos lugares usa el estilo antiguo @transaction.commit_manually y with transaction.commit_manually: No sé lo suficiente acerca de las […]

¿Ndb.toplevel rompe transacciones?

El siguiente código funciona como se esperaba y no activa la aserción: @ndb.transactional @ndb.tasklet def Foo(): assert ndb.in_transaction() El siguiente código se rompe, desencadenando la aserción: @ndb.transactional @ndb.toplevel def Foo(): assert ndb.in_transaction() Intenté reemplazar el decorador con una llamada ndb.transaction o una llamada ndb.transaction_async, pero ninguna funcionó. ¿Hay un error con ndb.toplevel y transacciones?

Transacciones y sqlalchemy

Estoy tratando de averiguar cómo insertar muchos registros (en el orden de 100k) en un db usando sqlalchemy en python3. Todo apunta a usar transacciones, sin embargo, estoy un poco confundido en cuanto a cómo se hace eso. Algunas páginas indican que obtienes una transacción de connection.begin (), otras partes dicen que es session.begin () […]

¿La tarea Django con subprocesos no maneja automáticamente las transacciones o las conexiones de base de datos?

Tengo a Django configurado para ejecutar algunas tareas recurrentes en sus propios subprocesos, y me di cuenta de que siempre estaban dejando procesos de conexión de base de datos sin terminar (pgsql “Idle In Transaction”). Revisé los registros de Postgres y descubrí que las transacciones no se estaban completando (sin ROLLBACK). Intenté usar los distintos […]

En Python, usando pyodbc, ¿cómo realiza transacciones?

Tengo un nombre de usuario que debo cambiar en numerosas tablas (hasta ~ 25). (Sí, lo sé). Una transacción atómica parece ser el camino a seguir para este tipo de cosas. Sin embargo, no sé cómo hacer esto con pyodbc. He visto varios tutoriales sobre transacciones atómicas antes, pero nunca los he usado. La configuración: […]

Django – Rollback guardado con transacción atómica

Estoy tratando de crear una vista donde guardo un objeto pero me gustaría deshacer ese guardado si se produce alguna excepción. Esto es lo que intenté: class MyView(View): @transation.atomic def post(self, request, *args, **kwargs): try: some_object = SomeModel(…) some_object.save() if something: raise exception.NotAcceptable() # When the workflow comes into this condition, I think the previous […]

sqlalchemy, postgresql y la relación se trabaron en “inactivo en transacción”

Tengo un problema relacionado con sqlalchemy y postgresql. class Profile(Base): … roles = relationship(‘Role’, secondary=role_profiles, backref=’profiles’, lazy=’dynamic’) Cuando se ejecuta ( current_user es una instancia de la clase Profile ): roles = current_user.roles.filter().all() Al usar sqlalchemy, me quedo idle in transaction para todas las selecciones para leer el perfil en postgresql. Editar: De hacerme eco […]