플라스크에 간단한 프로젝트를 만들어야합니다. 나는 SQLAlchemy를 사용하고 싶지 않다. 아래의 코드 조각에서 서버에 연결하는 모든 사용자는 동일한 연결 개체를 사용하지만 각 요청에 대해 새 커서 개체가 만들어집니다. 이런 식으로 전에 Python DB API를 사용 해본 적이 없기 때문에 나는 이것을 묻는다. 맞습니까? 각 요청에 대해 새 연결 개체를 만들거나 아래의 각 요청 또는 메서드에 대해 동일한 연결 및 커서 개체를 사용해야합니까? 어느 것이 옳은가요?WSGI 응용 프로그램에서 전역 데이터베이스 연결이 허용됩니까?
import mysql.connector
from flask import Flask, request
app = Flask(__name__)
try:
con = mysql.connector.connect(user='root',password='',host='localhost',database='pywork')
except mysql.connector.Error as err:
print("Something went wrong")
@app.route('/')
def home():
cursor = con.cursor()
cursor.execute("INSERT INTO table_name VALUES(NULL,'test record')")
con.commit()
cursor.close()
return ""
트랜잭션 (사용 가능한 경우)을 커서가 아닌 연결에 바인드 한 후에는 요청 당 데이터베이스 명령이 트랜잭션을 필요로하는 즉시 요청마다 별도의 연결이 있어야합니다 (데이터베이스가 일관성없는 상태가되는 것을 피하기 위해) . – moooeeeep
@moooeeeep 네가 맞아. 조만간 connection 객체를 사용하여 commit 메소드를 사용하여 Sql 쿼리를 실행합니다. 나는 그것에 대해 생각하지 않았다. 당신의 도움을 주셔서 감사합니다. – amone