Para criar uma conexão reutilizável com o banco MySQL utilizando FastAPI e Python, você pode seguir os seguintes passos:
-
Instale o pacote
mysql-connector-python
:pip install mysql-connector-python
-
Crie um arquivo
database.py
que irá conter uma função para criar a conexão com o banco de dados e retornar uma conexão do pool de conexões. Esse arquivo pode ser utilizado em múltiplos arquivos, caso seja necessário.import mysql.connector from mysql.connector import pooling dbconfig = { "host": "localhost", "user": "user", "password": "password", "database": "database", "pool_size": 5 } connection_pool = pooling.MySQLConnectionPool(pool_name="mypool", pool_size=dbconfig["pool_size"], **dbconfig) def get_connection(): return connection_pool.get_connection()
-
Utilize a função
get_connection()
para obter uma conexão com o banco de dados em qualquer rota que precise se comunicar com o banco de dados.from fastapi import FastAPI from database import get_connection app = FastAPI() @app.get("/") async def root(): connection = get_connection() cursor = connection.cursor() cursor.execute("SELECT * FROM tabela") results = cursor.fetchall() connection.close() return {"results": results}
Dessa forma, você pode criar uma conexão com o banco de dados reutilizável em todas as rotas utilizando pool de conexões e a função get_connection()
. Lembre-se de fechar a conexão após usá-la para evitar vazamento de recursos.