es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo manejar transacciones con FastAPI y async SQLAlchemy

Estoy confundido acerca de las transacciones con FastAPI y SQLAlchemy async (es decir, versión 1.4+). El tutorial de FastAPI para bases de datos SQL utiliza transacciones de alcance de solicitud creadas a través de una dependencia de FastAPI. Esto es lo que esperaría.

Pero luego la documentación tiene otro tutorial para bases de datos SQL async en el que no puedo ver ninguna señal de transacciones. Utiliza una dependencia de PyPi llamada databases que proporciona “soporte simple de asyncio para una serie de bases de datos”. No sé si hace transacciones internamente, pero no veo cómo podrían ser de alcance de solicitud sin ayuda de la aplicación que llama.

Y luego veo un artículo de blog sobre FastAPI y SQLAlchemy asincrónico que parece hacer las cosas de la manera original con transacciones de alcance de solicitud y dependencias de FastAPI. ¿Cuál es el enfoque “correcto”? ¿Importa si se utiliza el modo Core o ORM o ya no es relevante en SQLAlchemy 1.4?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Las transacciones son una parte importante del trabajo con bases de datos para garantizar la consistencia e integridad de los datos. El enfoque para las transacciones con FastAPI y async SQLAlchemy depende de las herramientas y dependencias específicas que se estén utilizando.

    El tutorial de FastAPI para bases de datos SQL utiliza transacciones de ámbito de solicitud, lo cual es un enfoque común. Esto es posible gracias a una dependencia de FastAPI y es lo que uno esperaría ver.

    Por otro lado, el tutorial de bases de datos SQL asincrónicas utiliza una dependencia de PyPi llamada databases, la cual proporciona soporte asyncio para bases de datos. No está claro en el tutorial si se están utilizando transacciones o cómo serían de ámbito de solicitud sin la ayuda de la aplicación que realiza la llamada.

    Finalmente, el artículo del blog sobre FastAPI y async SQLAlchemy hace las cosas de manera similar al tutorial de base de datos SQL de FastAPI, con transacciones de ámbito de solicitud y dependencias de FastAPI.

    En resumen, ambos enfoques son válidos y puede depender del caso de uso específico y de las dependencias que se estén utilizando. Es importante asegurarse de que se estén utilizando transacciones para mantener la integridad y consistencia de la base de datos. También es importante destacar que el enfoque puede no diferir según si se está utilizando el modo Core o el modo ORM en SQLAlchemy 1.4.

Comments are closed.